Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'archivio di stato consente agli operatori di rendere persistenti e recuperare i dati durante l'elaborazione dei messaggi e di abilitare operazioni con stato nei grafici del flusso di dati. Questo articolo illustra come usare l'archivio stati con gli operatori WASM nell'ambiente di sviluppo locale Azure IoT Operations.
Prima di completare i passaggi descritti in questo articolo, configurare l'ambiente di sviluppo locale ed eseguire un'applicazione graph in locale. Per altre informazioni, vedere Creare moduli WASM per i flussi di dati.
Prerequisiti
Completare i prerequisiti elencati in Compilare moduli WASM per i flussi di dati.
Aprire l'area di lavoro di esempio della memoria di stato
Clonare il repository Explore IoT Operations se non è già stato fatto.
Aprire la cartella explore-iot-operations/samples/wasm/statestore-scenario. Questa cartella contiene le risorse seguenti:
-
graph.dataflow.yaml- Configurazione del grafico del flusso di dati con un operatore abilitato per l'archivio stati. -
statestore.json- Configurazione dell'archivio degli stati con coppie di chiave-valore. -
data/- Dati di input di esempio per i test. -
operators/- Codice sorgente per gli operatori otel-enrich e filter.
Configurare l'archivio dello stato
Aprire il
statestore.jsonfile per visualizzare la configurazione corrente dell'archivio stati.È possibile modificare i valori di
factoryIdomachineIdper il test. Il parametro di arricchimento fa riferimento a queste chiavi.Aprire
graph.dataflow.yamled esaminare la configurazione di arricchimento. Le sezioni significative di questo file sono illustrate nel frammento di codice seguente:moduleConfigurations: - name: module-otel-enrich/map parameters: enrichKeys: name: enrichKeys description: Comma separated list of DSS keys which will be fetched and added as attributes default: factoryId,machineId operations: - operationType: "source" name: "source" - operationType: "map" name: "module-otel-enrich/map" module: "otel-enrich" - operationType: "sink" name: "sink"Il
enrichKeysvalore predefinito del parametro (factoryId,machineId) determina quali chiavi vengono recuperate dall'archivio stati e aggiunte come attributi.Verificare che ogni chiave elencata in
enrichKeysesista instatestore.json. Se si aggiungono o si rimuovono chiavi instatestore.json, aggiornare o sovrascrivere il valore didefaultusando la variabile di ambienteTK_CONFIGURATION_PARAMETERS.
Aggiornare i dati di test (facoltativo)
È possibile modificare i dati di test nella data/ cartella per sperimentare con valori di input diversi. I dati di esempio includono letture della temperatura.
Compilare ed eseguire lo scenario dell'archivio dello stato
Se in precedenza è stato arrestato l'ambiente di esecuzione locale, premere Ctrl+Shift+P per aprire il riquadro comandi e cercare Azure IoT Operations: Avvia ambiente di sviluppo. Selezionare release come modalità di esecuzione.
Premere
Ctrl+Shift+Pper aprire la palette comandi e cercare Azure IoT Operations: Costruisci tutti gli operatori Data Flow. Selezionare Release (Versione ) come modalità di compilazione. Attendere il completamento del processo di compilazione.Premere di nuovo
Ctrl+Shift+Pe cercare Azure IoT Operations: Esegui il Grafico dell'Applicazione. Selezionare release come modalità di esecuzione.Selezionare la cartella nell'area
datadi lavoro di VS Code per i dati di input. Il contenitore DevX si avvia per eseguire il grafico con l'input di esempio.
Verificare la funzionalità dell'archivio di stato
Al termine dell'esecuzione del grafo:
Visualizzare i risultati nella
data/output/cartella .Aprire il file generato
.txtper visualizzare i dati elaborati. Lauser propertiessezione dei messaggi di output include i valorifactoryIdemachineIdrecuperati dall'archivio degli stati.Controllare i log in
data/output/logs/host-app.logper verificare che l'operatoreotel-enrichabbia recuperato i valori dall'archivio stati e li abbia aggiunti come proprietà utente ai messaggi.