Skip to content

Commit e6eee5c

Browse files
committed
state store update
Signed-off-by: Ryan Winter <[email protected]>
1 parent 6a61cea commit e6eee5c

File tree

4 files changed

+31
-11
lines changed

4 files changed

+31
-11
lines changed

articles/iot-operations/create-edge-apps/concept-about-state-store-protocol.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ ms.topic: concept-article
88
ms.date: 10/30/2024
99

1010
# 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.
1212
ms.service: azure-iot-operations
1313
---
1414

15-
# MQTT broker state store protocol
15+
# State store protocol
1616

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.
1818

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:
2122

2223
- `SET` \<keyName\> \<keyValue\> \<setOptions\>
2324
- `GET` \<keyName\>
@@ -71,7 +72,7 @@ sequenceDiagram
7172

7273
The commands `SET`, `GET`, and `DEL` behave as expected.
7374

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.
7576

7677
### `SET` options
7778

@@ -421,7 +422,7 @@ The topic is defined in the following example. The `clientId` is an upper-case h
421422
clients/statestore/v1/FA9AE35F-2F64-47CD-9BFF-08E2B32A0FE8/{clientId}/command/notify/{keyName}
422423
```
423424

424-
As an example, MQ publishes a `NOTIFY` message sent to `client-id1` with the modified key name `SOMEKEY` to the topic:
425+
As an example, MQTT broker publishes a `NOTIFY` message sent to `client-id1` with the modified key name `SOMEKEY` to the topic:
425426

426427
```console
427428
clients/statestore/v1/FA9AE35F-2F64-47CD-9BFF-08E2B32A0FE8/636C69656E742D696431/command/notify/534F4D454B4559`

articles/iot-operations/create-edge-apps/howto-deploy-dapr.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ To install the Dapr runtime, use the following Helm command:
3131
```bash
3232
helm repo add dapr https://dapr.github.io/helm-charts/
3333
helm repo update
34-
helm upgrade --install dapr dapr/dapr --version=1.13 --namespace dapr-system --create-namespace --wait
34+
helm upgrade --install dapr dapr/dapr --version=1.14 --namespace dapr-system --create-namespace --wait
3535
```
3636

3737
## Register MQTT broker pluggable components
@@ -112,7 +112,7 @@ To create the yaml file, use the following component definitions:
112112
value: /var/run/secrets/tokens/mqtt-client-token
113113
```
114114
115-
1. Apply the component yaml to your cluster by running the following command:
115+
1. Apply the Component to your cluster by running the following command:
116116
117117
```bash
118118
kubectl apply -f components.yaml
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# What is the state store
2+
3+
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
12+
13+
## CLI
14+
15+
Ewerton tool goes here.

articles/iot-operations/toc.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ items:
145145
items:
146146
- name: Edge apps overview
147147
href: create-edge-apps/edge-apps-overview.md
148+
- name: State store
149+
items:
150+
- name: State store overview
151+
href: create-edge-apps/overview-state-store.md
152+
- name: About the state store protocol
153+
href: create-edge-apps/concept-about-state-store-protocol.md
148154
- name: Dapr apps
149155
items:
150156
- name: Deploy Dapr
@@ -153,8 +159,6 @@ items:
153159
href: create-edge-apps/howto-develop-dapr-apps.md
154160
- name: Build an event-driven app with Dapr
155161
href: create-edge-apps/tutorial-event-driven-with-dapr.md
156-
- name: About the MQ state store protocol
157-
href: create-edge-apps/concept-about-state-store-protocol.md
158162
- name: Develop MQTTnet apps
159163
href: create-edge-apps/howto-develop-mqttnet-apps.md
160164
- name: Tutorials

0 commit comments

Comments
 (0)