diff --git a/doc/content/integrations/storage/_index.md b/doc/content/integrations/storage/_index.md index 848c6a3772..a680cc09ac 100644 --- a/doc/content/integrations/storage/_index.md +++ b/doc/content/integrations/storage/_index.md @@ -14,21 +14,53 @@ The Storage Integration is implemented as an Application Package, and can be ena ## How it works -The Storage Integration runs on the Application Server and watches for upstream traffic (join requests, data uplink message, data downlink message, etc). When an upstream message is received from an end device for which the integration has been configured, the message data (Payload, FPort, Decoded Fields, as well as all relevant metadata) are written in a persistent database. +The Storage Integration runs on the Application Server and watches for upstream traffic (join requests, data uplink messages, data downlink messages, etc). When an upstream message is received from an end device for which the integration has been configured, the message data (Payload, FPort, Decoded Fields, as well as all relevant metadata) are written to a persistent database. Data retention period is 30 days for {{% tts %}} Cloud and 24 hours for {{% ttss %}} distributions. For {{% tts %}} Enterprise distributions, data retention period can be [configured]({{< ref "/integrations/storage/configuration" >}}). A gRPC service and an HTTP API are exposed so that stored messages can then be retrieved. -{{< note >}} {{% tts %}} Cloud stores only uplink messages. {{}} +{{< note >}} +{{% tts %}} Cloud stores only uplink messages. +{{}} {{< warning >}} The Storage Integration should not be used for querying realtime data. For scalability reasons, writes to the Storage Integration database are performed in batches and there may be a delay after an uplink is received, before it is available. For realtime alerts, use [Webhooks]({{< ref "integrations/webhooks" >}}). {{}} -## Typical use cases +--- + +## Viewing stored messages + +The Console offers a view for checking the Storage Integration status and displays recently stored messages. + +{{< figure src="enable/activated-storage-integration.png" alt="Activated storage integration" >}} + +This view allows filtering by end device and time range, and displays stored messages along with decoded payloads and metadata. + +{{< note >}} +For performance reasons, only the first 10 results are shown in the Console. +{{}} + +--- + +## Downloading messages + +The Console allows you to download the **messages currently displayed in the table** view. This provides a quick way to extract and inspect recent stored messages. + +{{< figure src="download-stored-messages.png" alt="Download stored messages" >}} + +Click the **Download** button to download the visible messages in one of the following formats: + +- **JSON**: Ideal for programmatic access or integration with other systems. +- **CSV**: Convenient for spreadsheets, quick inspection, or basic analysis. + +--- + +## Typical use cases - Long-term storage of historical data for end-devices. -- No need to maintain a connection with {{% tts %}} at all times, e.g. for end devices that send messages infrequently. +- Reliable message persistence for low-frequency or offline-capable devices. +- Decoupled integrations where message delivery doesn't require constant connectivity. Detailed instructions about storage integration are in the topics below. diff --git a/doc/content/integrations/storage/download-stored-messages.png b/doc/content/integrations/storage/download-stored-messages.png new file mode 100644 index 0000000000..16d9980cb9 Binary files /dev/null and b/doc/content/integrations/storage/download-stored-messages.png differ diff --git a/doc/content/integrations/storage/enable/activate-storage-integration.png b/doc/content/integrations/storage/enable/activate-storage-integration.png index a33972422f..dbaf6563cc 100644 Binary files a/doc/content/integrations/storage/enable/activate-storage-integration.png and b/doc/content/integrations/storage/enable/activate-storage-integration.png differ diff --git a/doc/content/integrations/storage/enable/activated-storage-integration.png b/doc/content/integrations/storage/enable/activated-storage-integration.png index 37a643b435..059f7f4c72 100644 Binary files a/doc/content/integrations/storage/enable/activated-storage-integration.png and b/doc/content/integrations/storage/enable/activated-storage-integration.png differ