Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Tillståndslagret låter operatörerna spara och hämta data i meddelandebearbetningen och aktivera tillståndskänsliga åtgärder i dina dataflödesdiagram. Den här artikeln visar hur du använder state store med WASM-operatörer i den lokala utvecklingsmiljön för Azure IoT Operations.
Innan du slutför stegen i den här artikeln konfigurerar du din lokala utvecklingsmiljö och skapar och kör ett grafprogram lokalt. Mer information finns i Skapa WASM-moduler för dataflöden.
Förutsättningar
Slutför de krav som anges i Skapa WASM-moduler för dataflöden.
Öppna exempelarbetsytan för tillståndsarkivet
Klona lagringsplatsen Explore IoT Operations om du inte redan har gjort det.
Öppna mappen explore-iot-operations/samples/wasm/statestore-scenario. Den här mappen innehåller följande resurser:
-
graph.dataflow.yaml– Dataflödesgrafkonfigurationen med en aktiverad tillståndslageroperator. -
statestore.json– Konfiguration av tillståndslager med nyckel/värde-par. -
data/– Exempel på indata för testning. -
operators/– Källkod för operatorerna otel-enrich och filter.
Konfigurera tillståndslagring
statestore.jsonÖppna filen för att visa den aktuella tillståndslagringskonfigurationen.Du kan ändra värdena
factoryIdför ellermachineIdför testning. Berikningsparametern refererar till dessa nycklar.Öppna
graph.dataflow.yamloch granska berikningskonfigurationen. De viktiga avsnitten i den här filen visas i följande kodfragment: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"Parameterns
enrichKeysstandardvärde (factoryId,machineId) avgör vilka nycklar som hämtas från tillståndsarkivet och läggs till som attribut.Se till att varje nyckel som anges i
enrichKeysfinns istatestore.json. Om du lägger till eller tar bort nycklar istatestore.json, uppdateradefaultvärdet eller åsidosätt det med hjälp avTK_CONFIGURATION_PARAMETERSmiljövariabeln.
Uppdatera testdata (valfritt)
Du kan ändra testdata i data/ mappen för att experimentera med olika indatavärden. Exempeldata innehåller temperaturavläsningar.
Skapa och kör scenariot för tillståndslager
Om du tidigare stoppade den lokala körningsmiljön trycker du på Ctrl+Shift+P för att öppna kommandopaletten och söka efter Azure IoT Operations: Starta utvecklingsmiljön. Välj släpp som körningsläge.
Tryck på
Ctrl+Shift+Pför att öppna kommandopaletten och sök efter Azure IoT Operations: Bygg alla dataflödesoperatörer. Välj version som byggläge. Vänta tills bygget har slutförts.Tryck på
Ctrl+Shift+Pigen och sök efter Azure IoT Operations: Kör Application Graph. Välj släpp som körningsläge.dataVälj mappen i VS Code-arbetsytan för dina indata. DevX-containern startas för att köra grafen med exempelindata.
Verifiera funktioner för tillståndslager
När körningen av grafen är klar:
Visa resultatet i
data/output/mappen.Öppna den genererade
.txtfilen för att se bearbetade data. Avsnittetuser propertiesi utdatameddelandena innehåller värdenafactoryIdochmachineIdsom hämtats från tillståndsarkivet.Kontrollera loggarna i
data/output/logs/host-app.logför att verifiera att operatornotel-enrichhämtade värden från statuslagret och lade till dem som användaregenskaper i meddelandena.