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/connect-to-cloud/howto-dataflow-graph-wasm.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,38 +14,38 @@ ai-usage: ai-assisted
14
14
# Use WebAssembly (WASM) with data flow graphs (preview)
15
15
16
16
> [!IMPORTANT]
17
-
> WebAssembly (WASM) with data flow graphs is in **preview**. This feature has limitations and isn't for production workloads.
18
-
>
19
-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
17
+
> WebAssembly (WASM) with data flow graphs is in **preview**. This feature has limitations and isn't for production workloads.
18
+
>
19
+
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or not yet released into general availability.
20
20
21
21
Azure IoT Operations data flow graphs support WebAssembly (WASM) modules for custom data processing at the edge. You can deploy custom business logic and data transformations as part of your data flow pipelines.
22
22
23
23
## Prerequisites
24
24
25
25
- Deploy an Azure IoT Operations instance on an Arc-enabled Kubernetes cluster. For more information, see [Deploy Azure IoT Operations](../deploy-iot-ops/howto-deploy-iot-operations.md).
26
26
- Use Azure Container Registry (ACR) to store WASM modules and graphs.
27
-
- Install ORAS CLI to push WASM modules to the registry.
27
+
- Install the ORAS CLI to push WASM modules to the registry.
28
28
29
29
## Overview
30
30
31
-
WebAssembly (WASM) modules in Azure IoT Operations data flow graphs let you process data at the edge with high performance and security. WASM runs in a sandboxed environment and supports programming languages like Rust, C++, and AssemblyScript.
31
+
WebAssembly (WASM) modules in Azure IoT Operations data flow graphs let you process data at the edge with high performance and security. WASM runs in a sandboxed environment and supports programming languages such as Rust, C++, and AssemblyScript.
32
32
33
33
### How WASM data flow graphs work
34
34
35
35
The WASM data flow implementation follows this workflow:
36
36
37
37
1.**Develop WASM modules**: Write custom processing logic in a supported language and compile it to the WebAssembly Component Model format.
38
38
1.**Develop graph definition**: Define how data moves through the modules by using YAML configuration files.
39
-
1.**Store artifacts in registry**: Push the compiled WASM modules to a container registry by using OCI-compatible tools like ORAS.
40
-
1.**Configure registry endpoints**: Set up authentication and connection details so Azure IoT Operations to access the container registry.
39
+
1.**Store artifacts in registry**: Push the compiled WASM modules to a container registry by using OCI-compatible tools such as ORAS.
40
+
1.**Configure registry endpoints**: Set up authentication and connection details so Azure IoT Operations can access the container registry.
41
41
1.**Create data flow**: Define data sources, the artifact name, and destinations.
42
42
1.**Deploy and execute**: Azure IoT Operations pulls WASM modules from the registry and runs them based on the graph definition.
43
43
44
44
<!-- TODO: Add general system architecture content -->
45
45
46
46
## Get started with examples
47
47
48
-
The following examples demonstrate how to set up and deploy WASM data flow graphs for common scenarios. These examples use hardcoded values and simplified configurations to help you get started quickly.
48
+
These examples show how to set up and deploy WASM data flow graphs for common scenarios. The examples use hardcoded values and simplified configurations so you can get started quickly.
49
49
50
50
### Set up container registry
51
51
@@ -55,11 +55,11 @@ To create and configure an Azure Container Registry, see [Deploy Azure Container
55
55
56
56
### Install ORAS CLI
57
57
58
-
Use the ORAS CLI to push WASM modules and graph definitions to your container registry. For install instructions, see [Install ORAS](https://oras.land/docs/installation).
58
+
Use the ORAS CLI to push WASM modules and graph definitions to your container registry. For installation instructions, see [Install ORAS](https://oras.land/docs/installation).
59
59
60
60
### Pull sample modules from public registry
61
61
62
-
For this preview, you can use prebuilt sample modules:
> Update the ACR references in your data flow deployments if you use a different registry than the sample modules.
98
+
> Update the ACR references in your data flow deployments if you use a different registry from the sample modules.
99
99
100
100
### Create a registry endpoint
101
101
@@ -178,12 +178,12 @@ The first command returns the extension name (for example, `azure-iot-operations
178
178
179
179
### Configure managed identity permissions
180
180
181
-
To let Azure IoT Operations pull WASM modules from your container registry, give the managed identity the right permissions. The IoT Operations extension uses a system-assigned managed identity that needs the `AcrPull` role on your Azure Container Registry. Important prerequisites include:
181
+
To let Azure IoT Operations pull WASM modules from your container registry, give the managed identity the right permissions. The IoT Operations extension uses a system-assigned managed identity that needs the `AcrPull` role on your Azure Container Registry. Make sure you have the following prerequisites:
182
182
183
183
- Owner permissions on the Azure Container Registry.
184
184
- The container registry can be in a different resource group or subscription, but it must be in the same tenant as your IoT Operations deployment.
185
185
186
-
Run the following commands to assign the `AcrPull` role to the IoT Operations managed identity:
186
+
Run these commands to assign the `AcrPull` role to the IoT Operations managed identity:
187
187
188
188
```bash
189
189
# Get the IoT Operations extension managed identity
@@ -198,7 +198,7 @@ az role assignment create --role "AcrPull" --assignee $SYSTEM_ASSIGNED_MAN_ID --
198
198
199
199
For more information about container registry roles, see [Azure Container Registry roles and permissions](/azure/container-registry/container-registry-roles).
200
200
201
-
If you get authentication errors with the Azure CLI, assign permissions through the Azure portal:
201
+
If you get authentication errors with the Azure CLI, assign permissions in the Azure portal:
202
202
203
203
1. Go to your Azure Container Registry in the Azure portal.
204
204
1. Select **Access control (IAM)** from the menu.
@@ -354,7 +354,7 @@ spec:
354
354
name: temperature-destination
355
355
```
356
356
357
-
Save the configuration as `dataflow-graph.yaml`, then apply it to your cluster:
357
+
Save the configuration as `dataflow-graph.yaml`, and then apply it to your cluster:
To test the data flow, send MQTT messages from within the cluster. First, deploy the MQTT client pod by following the instructions in [Test connectivity to MQTT broker with MQTT clients](../manage-mqtt-broker/howto-test-connection.md). The MQTT client provides the authentication tokens and certificates to connect to the broker.
368
368
369
-
After you deploy the MQTT client pod, open two terminal sessions and connect to the pod:
369
+
After you deploy the MQTT client pod, open two terminal sessions, and connect to the pod:
Copy file name to clipboardExpand all lines: articles/iot-operations/manage-mqtt-broker/howto-broker-persistence.md
+6-10Lines changed: 6 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,14 +51,15 @@ The MQTT broker uses a persistent volume (PV) to store data on disk. Two setting
51
51
52
52
# [Azure portal](#tab/portal)
53
53
54
-
:::image type="content" source="media/howto-broker-persistence/data-persistence-deploy.png" alt-text="[Screenshot showing data persistence options during deployment in the Azure portal]":::
55
54
56
55
To configure volume settings in the Azure portal:
57
56
58
57
1. During IoT Operations deployment, navigate to the **MQTT Broker** configuration section.
59
58
2. In the **Data Persistence** settings:
60
-
- Set the **Maximum Size** for the persistent volume (required).
61
-
- Optionally configure **Persistent Volume Claim Spec** settings for custom storage class requirements.
59
+
- Set the **Maximum Size** for the persistent volume (required).
60
+
- Optionally configure **Persistent Volume Claim Spec** settings for custom storage class requirements.
61
+
62
+
:::image type="content" source="media/howto-broker-persistence/data-persistence-deploy.png" alt-text="[Screenshot showing data persistence options during deployment in the Azure portal]":::
62
63
63
64
# [Azure CLI](#tab/azurecli)
64
65
@@ -94,16 +95,11 @@ Encryption is optional and is on by default. You can turn off encryption if you
94
95
95
96
# [Azure portal](#tab/portal)
96
97
97
-
To configure encryption settings in the Azure portal:
98
-
99
-
1. During IoT Operations deployment, navigate to the **MQTT Broker** configuration section.
100
-
2. In the **Data Persistence** settings:
101
-
- Toggle **Encryption** to enable or disable data encryption.
102
-
- By default, encryption is enabled using AES-256-GCM.
98
+
Encryption is enabled by default when deploying using the Azure portal. you can disable encryption in the broker configuration file if you deploy using Azure CLI.
103
99
104
100
# [Azure CLI](#tab/azurecli)
105
101
106
-
To disable encryption using Azure CLI, add the following to your Broker configuration file:
102
+
To disable encryption using Azure CLI, add the following to your Broker configuration file when using the `--broker-config-file` flag with the [az iot ops create](/cli/azure/iot/ops#az-iot-ops-create) command:
0 commit comments