Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure IoT Operations-Datenflussdiagramme unterstützen WebAssembly(WASM)-Module für die benutzerdefinierte Datenverarbeitung am Edge. Sie können benutzerdefinierte Geschäftslogik und Datentransformationen als Teil Ihrer Datenflusspipelinen bereitstellen.
Von Bedeutung
Datenflussdiagramme unterstützen zur Zeit nur MQTT-, Kafka- und OpenTelemetry-Endpunkte. Andere Endpunkttypen wie Data Lake, Microsoft Fabric OneLake, Azure Data Explorer und lokaler Speicher werden nicht unterstützt. Weitere Informationen finden Sie unter Bekannte Probleme.
Von Bedeutung
Derzeit ist der einzige Connector, der Graphdefinitionen für die benutzerdefinierte Verarbeitung unterstützt, der HTTP/REST-Connector.
Voraussetzungen
- Stellen Sie eine Azure IoT Operations-Instanz auf einem Arc-fähigen Kubernetes-Cluster bereit. Weitere Informationen finden Sie unter Azure IoT-Betrieb bereitstellen.
- Verwenden Sie eine Containerregistrierung wie Azure Container Registry (ACR), um WASM-Module und -Diagramme zu speichern.
- Konfigurieren Sie einen Registrierungsendpunkt, um Ihre Azure IoT Operations-Instanz für den Zugriff auf Ihre Containerregistrierung zu aktivieren. Weitere Informationen finden Sie unter Konfigurieren von Registrierungsendpunkten.
- Installieren Sie die OCI Registry As Storage (ORAS)-CLI, um WASM-Module an die Registrierung zu übertragen.
- Entwickeln Sie benutzerdefinierte WASM-Module, indem Sie den Anleitungen in WASM-Module für Datenflüsse in VS Code erstellen oder WebAssembly-(WASM-)Module und Diagrammdefinitionen für Datenflussdiagramme entwickeln folgen.
Überblick
WASM-Module in Datenflussdiagrammen und Connectors von Azure IoT Einsatz ermöglichen Ihnen, Daten am Edge mit hoher Leistung und Sicherheit zu verarbeiten. WASM wird in einer Sandkastenumgebung ausgeführt und unterstützt Rust und Python.
Einrichten der Containerregistrierung
Azure IoT Operations benötigt eine Containerregistrierung, um WASM-Module und Graphdefinitionen abzurufen. Sie können Azure Container Registry (ACR) oder eine andere OCI-kompatible Registrierung verwenden.
Informationen zum Erstellen und Konfigurieren einer Azure-Containerregistrierung finden Sie unter Bereitstellen der Azure-Containerregistrierung.
Installieren von ORAS CLI
Verwenden Sie die ORAS CLI, um WASM-Module und Graphdefinitionen an Ihre Containerregistrierung zu übertragen. Installationsanweisungen finden Sie unter Installieren von ORAS.
Beispielmodule aus dem öffentlichen Registry abrufen
Verwenden Sie vorgefertigte Beispielmodule:
# Pull sample modules and graphs
oras pull ghcr.io/azure-samples/explore-iot-operations/graph-simple:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/graph-complex:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/temperature:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/window:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/snapshot:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/format:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/humidity:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/collection:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/enrichment:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/filter:1.0.0
Module in Ihre Registry pushen
Sobald Sie über die Beispielmodule und Diagramme verfügen, übertragen Sie sie an ihre Containerregistrierung. Ersetzen Sie <YOUR_ACR_NAME> durch den Namen Ihrer Azure-Containerregistrierung. Um sicherzustellen, dass die Diagramme und Module im Web-UI für den Betriebsablauf sichtbar sind, fügen Sie die --config und --artifact-type Flags hinzu, wie im folgenden Beispiel gezeigt:
# Log in to your ACR
az acr login --name <YOUR_ACR_NAME>
# Push modules to your registry
oras push <YOUR_ACR_NAME>.azurecr.io/graph-simple:1.0.0 --config /dev/null:application/vnd.microsoft.aio.graph.v1+yaml graph-simple.yaml:application/yaml --disable-path-validation
oras push <YOUR_ACR_NAME>.azurecr.io/graph-complex:1.0.0 --config /dev/null:application/vnd.microsoft.aio.graph.v1+yaml graph-complex.yaml:application/yaml --disable-path-validation
oras push <YOUR_ACR_NAME>.azurecr.io/temperature:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm temperature-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/window:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm window-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/snapshot:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm snapshot-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/format:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm format-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/humidity:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm humidity-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/collection:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm collection-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/enrichment:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm enrichment-1.0.0.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/filter:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm filter-1.0.0.wasm:application/wasm
Tipp
Sie können auch eigene Module pushen und benutzerdefinierte Diagramme erstellen, siehe Konfiguration von benutzerdefinierten Datenflussdiagrammen.
Aktualisieren eines Moduls in einem ausgeführten Diagramm
Sie können ein WASM-Modul in einem ausgeführten Diagramm aktualisieren, ohne das Diagramm zu beenden. Dies ist nützlich, wenn Sie die Logik eines Operators aktualisieren möchten, ohne den Datenfluss zu beenden. Wenn Sie beispielsweise das Temperaturkonvertierungsmodul von Version zu 1.0.0Version 2.0.0 aktualisieren möchten, laden Sie die neue Version wie folgt hoch:
oras push <YOUR_ACR_NAME>.azurecr.io/temperature:2.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm temperature-2.0.0.wasm:application/wasm
Das Datenflussdiagramm erfasst automatisch die neue Version des Moduls ohne zusätzliche Konfiguration. Das Diagramm wird weiterhin ohne Unterbrechung ausgeführt, und die neue Modulversion wird für nachfolgende Datenverarbeitung verwendet.
Entwickeln von benutzerdefinierten WASM-Modulen
Um benutzerdefinierte Datenverarbeitungslogik für Ihre Datenflussdiagramme zu erstellen, entwickeln Sie WebAssembly-Module in Rust oder Python. Mit benutzerdefinierten Modulen können Sie spezielle Geschäftslogik, Datentransformationen und Analysen implementieren, die in den integrierten Operatoren nicht verfügbar sind.
Umfassende Anleitungen zur Entwicklung, einschließlich:
- Einrichten der Entwicklungsumgebung
- Erstellen von Operatoren in Rust und Python
- Grundlegendes zu Datenmodell und Schnittstellen
- Erstellen und Testen Ihrer Module
Siehe Entwickeln von WebAssembly-Modulen für Datenflussdiagramme.
Ausführliche Informationen zum Erstellen und Konfigurieren der YAML-Diagrammdefinitionen, die Ihre Datenverarbeitungsworkflows definieren, finden Sie unter Konfigurieren von WebAssembly-Diagrammdefinitionen.