|
1 | 1 | ---
|
2 |
| -title: Develop WebAssembly modules and graph definitions for data flow graphs (preview) |
| 2 | +title: Develop WebAssembly Modules and Graph Definitions for Data Flow Graphs (Preview) |
3 | 3 | description: Learn how to develop WebAssembly modules and graph definitions in Rust and Python for custom data processing in Azure IoT Operations data flow graphs.
|
4 | 4 | author: PatAltimore
|
5 | 5 | ms.author: patricka
|
@@ -70,7 +70,7 @@ The hybrid logical clock approach ensures several capabilities:
|
70 | 70 | - **Progress guarantees**: The system knows when processing is complete
|
71 | 71 | - **Distributed coordination**: Multiple nodes stay synchronized
|
72 | 72 |
|
73 |
| -## Understanding operators and modules |
| 73 | +## Understand operators and modules |
74 | 74 |
|
75 | 75 | Understanding the distinction between operators and modules is essential for WASM development:
|
76 | 76 |
|
@@ -528,7 +528,7 @@ Use Docker builds for consistent builds across different environments and automa
|
528 | 528 |
|
529 | 529 | ---
|
530 | 530 |
|
531 |
| -## Implementing operators |
| 531 | +## Implement operators |
532 | 532 |
|
533 | 533 | # [Rust](#tab/rust)
|
534 | 534 |
|
@@ -566,11 +566,11 @@ Graph definitions are central to WASM development as they define how your module
|
566 | 566 |
|
567 | 567 | Graph definitions follow a formal [JSON schema](https://github.com/Azure-Samples/explore-iot-operations/blob/wasm/samples/wasm/ConfigGraph.json) that validates structure and ensures compatibility. The configuration includes:
|
568 | 568 |
|
569 |
| -1. Module requirements: API and host library version compatibility |
570 |
| -2. Module configurations: Runtime parameters for operator customization |
571 |
| -3. Operations: Processing nodes in your workflow |
572 |
| -4. Connections: Data flow routing between operations |
573 |
| -5. Schemas (optional): Data validation schemas |
| 569 | +- Module requirements: API and host library version compatibility |
| 570 | +- Module configurations: Runtime parameters for operator customization |
| 571 | +- Operations: Processing nodes in your workflow |
| 572 | +- Connections: Data flow routing between operations |
| 573 | +- Schemas (optional): Data validation schemas |
574 | 574 |
|
575 | 575 | ### Basic graph structure
|
576 | 576 |
|
@@ -615,16 +615,16 @@ For working examples, see:
|
615 | 615 |
|
616 | 616 | The relationship between graph definitions and Azure IoT Operations data flow graphs works as follows:
|
617 | 617 |
|
618 |
| -1. **Graph definition artifact**: Your YAML file defines the internal processing logic with source/sink operations as abstract endpoints |
619 |
| -2. **WASM modules**: Referenced modules implement the actual processing operators |
620 |
| -3. **Registry storage**: Both graph definitions and WASM modules are uploaded to a container registry (such as Azure Container Registry) as OCI artifacts |
621 |
| -4. **Data flow graph resource**: The Azure Resource Manager or Kubernetes resource "wraps" the graph definition and connects it to real endpoints |
622 |
| -5. **Runtime deployment**: The data flow engine pulls the artifacts from the registry and deploys them |
623 |
| -6. **Endpoint mapping**: The abstract source/sink operations in your graph connect to actual MQTT topics, Azure Event Hubs, or other data sources |
| 618 | +- **Graph definition artifact**: Your YAML file defines the internal processing logic with source/sink operations as abstract endpoints |
| 619 | +- **WASM modules**: Referenced modules implement the actual processing operators |
| 620 | +- **Registry storage**: Both graph definitions and WASM modules are uploaded to a container registry (such as Azure Container Registry) as OCI artifacts |
| 621 | +- **Data flow graph resource**: The Azure Resource Manager or Kubernetes resource "wraps" the graph definition and connects it to real endpoints |
| 622 | +- **Runtime deployment**: The data flow engine pulls the artifacts from the registry and deploys them |
| 623 | +- **Endpoint mapping**: The abstract source/sink operations in your graph connect to actual MQTT topics, Azure Event Hubs, or other data sources |
624 | 624 |
|
625 | 625 | For example, this diagram illustrates the relationship between graph definitions, WASM modules, and data flow graphs:
|
626 | 626 |
|
627 |
| -:::image type="content" source="media/howto-develop-wasm-modules/wasm-dataflow-overall-architecture.svg" alt-text="Diagram showing the relationship between graph definitions, WASM modules, and data flow graphs" border="false"::: |
| 627 | +:::image type="content" source="media/howto-develop-wasm-modules/wasm-dataflow-overall-architecture.svg" alt-text="Diagram showing the relationship between graph definitions, WASM modules, and data flow graphs." border="false"::: |
628 | 628 |
|
629 | 629 | <!--
|
630 | 630 | ```mermaid
|
@@ -699,7 +699,7 @@ moduleConfigurations:
|
699 | 699 | required: false
|
700 | 700 | ```
|
701 | 701 |
|
702 |
| -### Consuming parameters in code |
| 702 | +### Consume parameters in code |
703 | 703 |
|
704 | 704 | Parameters are accessed through the `ModuleConfiguration` struct passed to your operator's `init` function:
|
705 | 705 |
|
|
0 commit comments