Conversation
- Remove 'is_default_branch' restriction from Python builder - Make repository references consistent between workflows - Add workflow_dispatch trigger to Python workflow - Update README to use default 'latest' tag instead of 'wasm' tag This ensures both rust-wasm-builder and python-wasm-builder get the 'latest' tag when building from main or wasm branches.
- Fixed Python Docker builder to use flexible filename matching local method
- Changed from hardcoded ${APP_TYPE}.py to ${APP_NAME}.py pattern
- Both Docker and local builds now expect same naming convention
- Reorganized README to present local builds first, then Docker builds
- Added clear guidance on when to use each build approach
- Removed 'Recommended' labels for neutral presentation
- Made both Rust and Python sections consistent in structure
- Updated directory structure to match actual repository layout - Fixed all GitHub links to use relative paths instead of absolute URLs - Corrected Rust examples structure (temperature, humidity, format, etc.) - Fixed Python examples structure (map, filter, branch) - Updated Python Docker builder for flexible filename support - README now serves as accurate quick reference companion to MS Learn docs
There was a problem hiding this comment.
Pull Request Overview
This PR introduces Azure IoT Operations Data Flow Graphs, a comprehensive WebAssembly (WASM) development framework for real-time data processing. The feature enables developers to build custom data processing pipelines using Rust and Python with support for complex workflows including branching, filtering, aggregation, and machine learning inference. Built on Microsoft Research's Timely Dataflow computational model, it provides production-ready architecture with event-time semantics and fault tolerance.
Key Changes
- Multi-language WASM development framework with full Rust SDK featuring procedural macros, logging, metrics, and state store APIs
- Rich operator ecosystem supporting Map, Filter, Branch, Accumulate, and Delay operations for comprehensive data processing workflows
- Streamlined development toolchain including Docker builders, GitHub Actions workflows, and local development support with native toolchain integration
Reviewed Changes
Copilot reviewed 54 out of 81 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| samples/wasm/rust/examples//.rs | Rust operator implementations demonstrating temperature conversion, humidity processing, image analysis, and data enrichment patterns |
| samples/wasm/rust/examples/*/Cargo.toml | Dependency configurations for WASM modules with tinykube_wasm_sdk integration |
| samples/wasm/rust/Dockerfile | Docker builder environment for streamlined Rust-to-WASM compilation with cargo registry configuration |
| samples/wasm/python/schema/*.wit | WebAssembly Interface Type definitions for operators, state management, logging, and metrics |
| samples/wasm/rust/README.md | Comprehensive development guide covering Rust-specific patterns, build processes, and best practices |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Azure IoT Operations Data Flow Graphs: WASM Development (Public Preview)
Overview
This PR introduces Azure IoT Operations Data Flow Graphs - a powerful new capability for real-time data processing using WebAssembly (WASM) modules. This public preview enables developers to build custom data processing pipelines using Rust and Python, with support for complex workflows including branching, filtering, aggregation, and machine learning inference.
🚀 Key Features
Multi-Language WASM Development
Rich Operator Types
Production-Ready Architecture
📁 What's Included
Sample Applications
graph-complex.yaml- Multi-sensor processing with ML inferenceDevelopment Tools
ghcr.io/azure-samples/explore-iot-operations/rust-wasm-builderghcr.io/azure-samples/explore-iot-operations/python-wasm-builderSample Data & Assets
🔧 Technical Highlights
Rust Development
Python Development
Graph Configuration
🛠️ Build & Deploy
Docker Builds (Recommended):
Local Development: Full support for native Rust/Python toolchains with registry configuration
📊 Impact
🔗 Integration
This feature integrates with:
📚 Documentation
✅ Testing