Working with Data in the Cloud
A key aspect of Octave is the ability to write cloud-side logic, and this is done by implementing a Cloud Action.
Just as an Edge Action can read data from the Resources in the edge context, Cloud Actions can read, process, and write data in the cloud context. In the cloud, they have access to read and write data from other Streams as well as the ability to publish or consume data from external services using REST requests (i.e., making HTTP GET/POST requests to read/write using third-party APIs).
A Cloud Action can return Events to a static Stream (e.g., to track the status of a process) or to a dynamically-generated Stream (typically a specific device
command Stream to send data to a given device).
The following topics describe how to manage, transform, and work with data from an Octave Edge Device in the cloud using a Cloud Action:
- Cloud Actions Getting started videos: videos that provide an overview of Cloud Actions.
- Creating a Cloud Action: write cloud-side logic to handle Events.
- Adding a new Stream: create a stream to store data on the cloud side.
- Setting a Value From a Cloud Action: set the value on an Octave edge device from the cloud.
- Simple Forwarding: forward/create events in another Stream.
- Transforming Events: create a new Event using the data from an existing Event.
- Using Events from Other Streams: methods to find information about one or more events.
- Aggregating Events with Tag Actions: use the same Cloud Action logic on a given stream across multiple Octave edge devices.
- Cloud Initiated Streams: sending new Events in Streams from the cloud.
You can also use the following methods to work with data in the cloud:
- Cloud Connectors: use a Cloud Connector to push Events to an external system. A Cloud Connector is like a Cloud Action, but is used purely to send Event data to specific types of external systems (e.g., REST end points, Azure IoT Hub, etc.) while transforming events into (JSON) messages that can be understood by those systems, and providing resiliency (I.e., the ability to retry when the external system is down). For more information see Pushing Events via Cloud Connectors.
- Tasks: use a Task to periodically pull data from external systems and "inject" it into Octave as Events.
Updated over 2 years ago