> For the complete documentation index, see [llms.txt](https://docs.net2grid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.net2grid.com/integration-guide/cloud-data-streaming/quick-summary.md).

# Quick Summary

## Overview

The data streams from the devices are made available to the customer in AWS Kinesis Data Streams and SQS queues.

* Energy Measurements will be forwarded to the NET2GRID platform, which batches the incoming data and dispatches the stream to the label-partner-specific Kinesis Data Stream.
* Connection status updates will be forwarded to the NET2GRID platform whenever a device’s connection status changes. The platform will publish a message containing information about the new connection status to an SQS queue.
* Device metadata updates will also be forwarded to the platform. Whenever a device's metadata information or configuration changes, a message from the platform will be published to an SQS queue.

The platform is hosted in the cloud on a customer-specific AWS account. A straightforward Device Management Interface is provided to manage the installed devices.

<figure><img src="https://881570964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoRiIN2dSWhexNqjVHrZc%2Fuploads%2FrX3CmkupVXfPLVXzGowF%2Fimage.png?alt=media&amp;token=cb68300b-1ac0-475c-8bdf-3147206e1f94" alt="" width="563"><figcaption></figcaption></figure>

In short, four elements are relevant for integration with the NET2GRID platform:

* Receiving and interpreting the Amazon Kinesis Data Stream with the **Amazon Kinesis Client Library (KCL)** executed by the customer.
* The Consumer Application runs on the customer infrastructure and reads from the AWS SQS queue for connection status updates.
* The Consumer Application runs on the customer infrastructure and reads from the AWS SQS queue for device metadata updates.
* Manage the Smart Bridge device status and configuration with the [**Device Management API**](/integration-guide/device-management-api.md).

## Consuming using KCL

Consuming the Kinesis Data Stream using the **AWS Kinesis Client Library (**[**KCL**](https://docs.aws.amazon.com/streams/latest/dev/shared-throughput-kcl-consumers.html)**)** is strongly advised for customer integration. KCL is a flexible tool that allows for the customization of record processing. It can be executed on any OS running Java, and different development teams can adopt it due to its multi-language interface.

As AWS states:

> KCL helps you consume and process data from a Kinesis data stream by handling many complex tasks associated with distributed computing. These include load balancing across multiple consumer application instances, responding to application instance failures, checking processed records, and reacting to resharding. The KCL takes care of all of these subtasks so that you can focus on writing your custom record-processing logic

## Getting Access

NET2GRID can provide access to the stream once its deployment is in place. Access to the data stream and the SQS queues will be granted to the client’s AWS account through IAM. The client should provide the AWS account ID so access to the resources mentioned above can be restricted only to the users of this account. The client can assume the role given using a user of his account capable of assuming the roles of other accounts. The NET2GRID will provide the following information so the client can start the consumer on his side:

* AWS account ID of the data stream,
* role’s name for getting access to the data stream,
* role’s name for getting access to the queues,
* stream name,
* queue names, and
* application name that will point to the DynamoDB table required for the KCL usage.

## Flow

The next figure presents a simple flow chart of how this will look abstractly. The client’s infrastructure can consume the data traffic after performing the following steps:

* Prepare an instance that can run the KCL
* Customize the processing of the records.

Due to the nature of the KCL, the instance doesn’t need to run inside the client’s AWS account; it could be deployed on any other server that can execute the KCL Java daemon and the custom consumer created by the client.

<figure><img src="https://881570964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoRiIN2dSWhexNqjVHrZc%2Fuploads%2FzIduzkKVcGVTDuD1aDDt%2Fimage.png?alt=media&amp;token=cb879e4b-c301-4507-8c72-3f4b89837e31" alt="" width="375"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.net2grid.com/integration-guide/cloud-data-streaming/quick-summary.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
