Skip to content

Commit 77990b5

Browse files
committed
review what is aio
1 parent 4f57fd6 commit 77990b5

File tree

2 files changed

+17
-19
lines changed

2 files changed

+17
-19
lines changed

articles/iot-operations/develop-edge-apps/overview-iot-operations-sdks.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about Azure IoT Operations SDKs and how to use it to develop
44
author: asergaz
55
ms.author: sergaz
66
ms.topic: concept-article
7-
ms.date: 05/07/2025
7+
ms.date: 05/27/2025
88

99
#CustomerIntent: As a developer, I want to know why use Azure IoT Operations SDKs to develop highly available edge applications.
1010
---
@@ -21,7 +21,7 @@ The Azure IoT Operations SDKs are a suite of tools and libraries across multiple
2121
| **Zero data loss** | Builds on MQTT broker to remove data loss due to application failure. |
2222
| **Low latency** | Optimized layering and tight MQTT client coupling minimized overheads. |
2323
| **Integration with Azure IoT Operations services** | Libraries provide access to services such as state store. |
24-
| **Simplify complex messaging** | Provide support for communication between applications via MQTT5 using a remote procedure call (RPC) implementation. |
24+
| **Simplify complex messaging** | Provide support for communication between applications via MQTT v5 using a remote procedure call (RPC) implementation. |
2525
| **Support** | The SDKs are maintained and supported by a dedicated team at Microsoft. |
2626

2727
The SDKs are open source and available on GitHub:
@@ -34,23 +34,23 @@ The SDKs are open source and available on GitHub:
3434
> Azure IoT Operations SDKs is currently in PREVIEW.
3535
> The assets in the [Azure IoT Operations SDKs GitHub repository](https://github.com/Azure/iot-operations-sdks) have been made available for early access and feedback purposes.
3636
37-
## Goals of the SDKs
37+
## Goal of the SDKs
3838

39-
The goal of the SDKs is to provide an application framework to abstract the MQTT concepts, with a clean API, that can also be consumed using the Protocol Compiler (Codegen) from [Digital Twins Definition Language (DTDL)](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/README.md) models.
39+
The goal of the SDKs is to provide an application framework to abstract the MQTT concepts, with a clean API that let you use the *Protocol Compiler (codegen)*, to generate code from [Digital Twins Definition Language (DTDL)](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/README.md) models in the supported programming languages.
4040

4141
The SDKs can be used to build highly available applications at the edge, that interact with Azure IoT Operations to perform operations such as **asset discovery**, **protocol translation** and **data transformation**.
4242

4343
## Benefits of using the SDKs
4444

45-
The SDKs provide a number of benefits compared to utilizing the MQTT client directly:
45+
The SDKs provide a number of benefits compared to using the MQTT client directly:
4646

4747
| Feature | Benefit |
4848
|-|-|
4949
| **Connectivity** | Maintain a secure connection to the MQTT Broker, including rotating server certificates and authentication keys. |
5050
| **Security** | Support SAT or X.509 certificate authentication with credential rotation. |
5151
| **Configuration** | Configure the MQTT Broker connection through the file system, environment or connection string. |
5252
| **Services** | Provides client libraries to Azure IoT Operations services for simplified development. |
53-
| **Codegen** | Provides contract guarantees between client and servers via RPC and telemetry. |
53+
| **Protocol Compiler (codegen)** | Provides contract guarantees between client and servers via RPC and telemetry. |
5454
| **High availability** | Building blocks for building highly available apps via state store, lease lock and leader election clients. |
5555
| **Payload formats** | Supports multiple serialization formats, built in. |
5656

@@ -64,7 +64,7 @@ The SDKs provide a number of components available for simplicity and ease of use
6464

6565
* A set of clients providing integration with Azure IoT Operations services such as **state store**, **leader election**, **lease lock**, and **schema registry**.
6666

67-
* The **Protocol Compiler (Codegen)** allows clients and servers to communicate via a schema contract. First describe the communication (using **Telemetry** and **Commands**) with DTDL, then generate a set of client libraries and server library stubs across the supported programming languages.
67+
* The **Protocol Compiler (codegen)** allows clients and servers to communicate via a schema contract. First describe the communication (using **Telemetry** and **Commands**) with DTDL, then generate a set of client libraries and server library stubs across the supported programming languages.
6868

6969
Read further about the underlying terminology and different components of the SDKs:
7070

@@ -79,22 +79,20 @@ The SDKs supports the following application types:
7979

8080
| Application type | Description |
8181
|-|-|
82-
| [Edge application](https://github.com/Azure/iot-operations-sdks/blob/main/doc/edge_application/README.md) | A generic edge application that needs to interface with various Azure IoT Operations services such as the MQTT broker and state store. The SDKs provides convenient clients to simplify the development experience. </br>*An Edge Application is a customer managed artifact, including deployment to the cluster and monitoring execution.* |
83-
| [Akri connector](https://github.com/Azure/iot-operations-sdks/blob/main/doc/akri_connector/README.md)</br>*(in development)*| A specialized edge application deployed by the Akri Operator and designed to interface with on-premises asset endpoints. The Akri connector is responsible for discovering assets available via the endpoint, and relaying information to and from those assets.</br>*The Akri Connector's deployment is managed automatically by the Akri Operator.* |
82+
| [Edge application](https://github.com/Azure/iot-operations-sdks/blob/main/doc/edge_application/README.md) | A generic edge application that needs to interface with various Azure IoT Operations services such as the MQTT broker and state store. The SDKs provides convenient clients to simplify the development experience. </br></br>*An Edge Application is a customer managed artifact, including deployment to the cluster and monitoring execution.* |
83+
| [Akri connector](https://github.com/Azure/iot-operations-sdks/blob/main/doc/akri_connector/README.md)</br>*(in development)*| A specialized edge application deployed by the Akri Operator and designed to interface with on-premises asset endpoints. The Akri connector is responsible for discovering assets available via the endpoint, and relaying information to and from those assets.</br></br>*The Akri connector's deployment is managed automatically by the Akri Operator.* |
8484

8585
> [!NOTE]
8686
> The Akri connector is part of the Akri services (preview), which is under active development and will be available in the near future.
8787
88-
## Samples and tutorials
88+
## Samples
8989

9090
Review the [samples](https://github.com/Azure/iot-operations-sdks/tree/main/samples) directory for samples about creating applications for Azure IoT Operation on the supported languages.
9191

92-
To deploy a fully functional application to a cluster and see the SDKs in action, follow the [Tutorial: Develop an edge app with Azure IoT Operations SDKs for efficient data handling](tutorial-develop-edge-app.md).
93-
9492
## SDKs reference documentation
9593

96-
For documentation related to the implementation of the SDKs, it's fundamentals primitives and protocols as well as the underlying topic and payload structure used for communication over MQTT, see [SDKs reference documentation](https://github.com/Azure/iot-operations-sdks/blob/main/doc/reference/README.md).
94+
For documentation related to the implementation of the SDKs, it's fundamentals primitives and protocols as well as the underlying topic and payload structure used for communication over MQTT, see [Azure IoT Operatios SDKs reference documentation](https://github.com/Azure/iot-operations-sdks/blob/main/doc/reference/README.md).
9795

9896
## Next step
9997

100-
Try the [Quickstart: Start developing with the Azure IoT Operations SDKs](develop-edge-apps/quickstart-get-started-sdks.md).
98+
To deploy a fully functional application to a cluster and see the SDKs in action, follow the [Tutorial: Develop an edge app with Azure IoT Operations SDKs for efficient data handling](tutorial-develop-edge-app.md).

articles/iot-operations/develop-edge-apps/reference-state-store-protocol.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.date: 05/07/2025
1313

1414
# State store protocol
1515

16-
The state store is a distributed storage system within the Azure IoT Operations cluster. The state store offers the same high availability guarantees as MQTT messages in MQTT broker. According to the MQTT5/RPC protocol guidelines, clients should use MQTT5 to interact with the state store. This article provides protocol guidance for developers who need to implement their own state store clients.
16+
The state store is a distributed storage system within the Azure IoT Operations cluster. The state store offers the same high availability guarantees as MQTT messages in MQTT broker. According to the MQTT5/RPC protocol guidelines, clients should use MQTT v5 to interact with the state store. This article provides protocol guidance for developers who need to implement their own state store clients.
1717

1818
## Overview
1919

@@ -40,12 +40,12 @@ sequenceDiagram
4040

4141
:::image type="content" source="media/concept-about-state-store-protocol/state-store-request-response-basic.svg" alt-text="Diagram of state store basic request and response process." border="false":::
4242

43-
## State store system topic, QoS, and required MQTT5 properties
43+
## State store system topic, QoS, and required MQTT v5 properties
4444

4545
To communicate with the state store, clients must meet the following requirements:
4646

47-
- Use MQTT5. For more information, see the [MQTT 5 specification](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html).
48-
- Use QoS 1 (Quality of Service level 1). QoS 1 is described in the [MQTT 5 specification](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901236).
47+
- Use MQTT v5. For more information, see the [MQTT v5 specification](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html).
48+
- Use QoS 1 (Quality of Service level 1). QoS 1 is described in the [MQTT v5 specification](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901236).
4949
- Have a clock that is within one minute of the MQTT broker's clock.
5050

5151
To communicate with the state store, clients must `PUBLISH` requests to the system topic `statestore/v1/FA9AE35F-2F64-47CD-9BFF-08E2B32A0FE8/command/invoke`. Because the state store is part of Azure IoT Operations, it does an implicit `SUBSCRIBE` to this topic on startup.
@@ -362,7 +362,7 @@ Clients can register with the state store to receive notifications of keys being
362362

363363
### KEYNOTIFY request messages
364364

365-
State store clients request the state store monitor a given `keyName` for changes by sending a `KEYNOTIFY` message. Just like all state store requests, clients PUBLISH a QoS1 message with this message via MQTT5 to the state store system topic `statestore/v1/FA9AE35F-2F64-47CD-9BFF-08E2B32A0FE8/command/invoke`.
365+
State store clients request the state store monitor a given `keyName` for changes by sending a `KEYNOTIFY` message. Just like all state store requests, clients PUBLISH a QoS1 message with this message via MQTT v5 to the state store system topic `statestore/v1/FA9AE35F-2F64-47CD-9BFF-08E2B32A0FE8/command/invoke`.
366366

367367
The request payload has the following form:
368368

0 commit comments

Comments
 (0)