You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-operations/create-edge-apps/concept-about-state-store-protocol.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,16 +8,17 @@ ms.topic: concept-article
8
8
ms.date: 10/30/2024
9
9
10
10
# CustomerIntent: As a developer, I want understand what the MQTT broker state store protocol is, so
11
-
# that I can implement a client app to interact with the MQ state store.
11
+
# that I can implement a client app to interact with the state store.
12
12
ms.service: azure-iot-operations
13
13
---
14
14
15
-
# MQTT broker state store protocol
15
+
# State store protocol
16
16
17
-
The MQ 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 MQ state store. This article provides protocol guidance for developers who need to implement their own MQTT broker state store clients.
17
+
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 MQTT broker state store clients.
18
18
19
-
## State store protocol overview
20
-
The MQ state store supports the following commands:
19
+
## Overview
20
+
21
+
The state store supports the following commands:
21
22
22
23
-`SET`\<keyName\>\<keyValue\>\<setOptions\>
23
24
-`GET`\<keyName\>
@@ -71,7 +72,7 @@ sequenceDiagram
71
72
72
73
The commands `SET`, `GET`, and `DEL` behave as expected.
73
74
74
-
The values that the `SET` command sets, and the `GET` command retrieves, are arbitrary binary data. The size of the values is only limited by the maximum MQTT payload size, and resource limitations of MQ and the client.
75
+
The values that the `SET` command sets, and the `GET` command retrieves, are arbitrary binary data. The size of the values is only limited by the maximum MQTT payload size, and resource limitations of MQTT broker and the client.
75
76
76
77
### `SET` options
77
78
@@ -421,7 +422,7 @@ The topic is defined in the following example. The `clientId` is an upper-case h
The state store is a distributed storage system within the Azure IoT Operations cluster. Using the State Store, applications can get/set/delete key/value pairs without needing to install additional services such as Redis. The State Store also provides versioning of the data as well as providing the primitives for building distributed locks.
4
+
5
+
Like Redis, the state store uses in memory storage. Stopping the Kubernetes cluster and/or uninstalling MQ will state store data to be lost.
6
+
7
+
The state store is implemented via MQTTv5. Its service is integrated directly into MQ and is automatically started when MQ starts. The state store provides the same high available as the MQ MQTT broker.
8
+
9
+
The state store extends MQTT broker's authorization mechanism, allowing individual clients to have optional read and write access to specific keys. Its authentication is documented in more detail here.
10
+
11
+
The state store protocol is documented in [state store protocol](concept-about-state-store-protocol.md). SDKs are available for the state store for Go, C#, and Rust. You are strongly encouraged to use an SDK if available for your language instead of implementing the protocol yourself. Additional information about the SDKs is available
0 commit comments