Använda senast kända värden i en azure IoT Data Processor Preview-pipeline
Viktigt!
Förhandsversion av Azure IoT Operations – aktiverad av Azure Arc finns för närvarande i FÖRHANDSVERSION. Du bör inte använda den här förhandsgranskningsprogramvaran i produktionsmiljöer.
Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Använd det senast kända värdesteget (LKV) i en databehandlingspipeline för att upprätthålla en uppdaterad och fullständig post för dina data. LKV-fasen spårar de senaste värdena för nyckel/värde-par för meddelanden i pipelinen. Fasen kan sedan utöka meddelanden med hjälp av de spårade LKV-värdena. Senast kända värdespårning och berikning är viktiga för nedströmsprocesser som är beroende av:
- Flera tidsseriedatapunkter vid en viss tidsstämpel.
- Nyttolaster som alltid har ett värde för en viss nyckel.
I en databearbetningspipeline är LKV-fasen ett valfritt steg. När du använder LKV-fasen kan du:
- Lägg till flera LKV-steg i en pipeline. Varje LKV-fas kan spåra flera värden.
- Utöka meddelanden med lagrade LKV-värden, vilket säkerställer att data förblir fullständiga och omfattande.
- Håll LKV:er uppdaterade automatiskt med de senaste värdena från inkommande meddelanden.
- Spåra LKV:er separat för varje logisk partition. LKV-fasen fungerar oberoende av varandra i varje logisk partition.
- Konfigurera förfallotiden för varje spårad LKV för att hantera varaktigheten för den förblir giltig. Den här kontrollen hjälper till att säkerställa att meddelanden inte utökas med inaktuella värden.
LKV-fasen upprätthåller kronologisk dataintegritet. Fasen säkerställer att meddelanden med tidigare tidsstämplar inte åsidosätter eller ersätter LKV:er med meddelanden som har senare tidsstämplar.
LKV-fasen berikar inkommande meddelanden med de senast kända värden som den spårar. Dessa berikade värden representerar tidigare registrerade data och är inte nödvändigtvis de aktuella realtidsvärdena. Se till att det här beteendet överensstämmer med dina förväntningar på databehandling.
Förutsättningar
För att konfigurera och använda en sammanställd pipelinefas behöver du en distribuerad instans av Azure IoT Data Processor Preview.
Konfigurera fasen
JSON-konfigurationen för LKV-stadiet definierar information om fasen. Om du vill skapa fasen kan du antingen interagera med det formulärbaserade användargränssnittet eller ange JSON-konfigurationen på fliken Avancerat :
Om du inkluderar tidsstämpelsökvägen hjälper det dig att förstå exakt när LKV:erna registrerades och förbättrar transparensen och spårbarheten.
inputPath
Motsvarar outputPath
Det utgående meddelandet är antingen det faktiska meddelandevärdet eller LKV om den spårade nyckeln saknas i meddelandets nyttolast. Inkommande värden prioriteras och fasen åsidosätter det inte med en LKV. Om du vill identifiera om meddelandevärdet är ett LKV-värde använder du tidsstämpelsökvägen. Tidsstämpelsökvägen ingår endast i det utgående meddelandet om värdet i meddelandet är den spårade LKV:en.
inputPath
är inte lika med outputPath
Fasen skriver LKV till outputPath
för alla inkommande meddelanden. Använd den här konfigurationen för att spåra skillnaden mellan värden i efterföljande meddelandenyttolaster.
Exempelkonfiguration
I följande exempel visas ett exempelmeddelande för LKV-fasen med meddelandet som kommer 10:02 och med en nyttolast som innehåller det spårade .payload.temperature
LKV-värdet:
{
{
"systemProperties":{
"partitionKey":"pump",
"partitionId":5,
"timestamp":"2023-01-11T10:02:07Z"
},
"qos":1,
"topic":"/assets/pump/#"
},
"payload":{
"humidity": 10,
"temperature":250,
"pressure":30,
"runningState": true
}
}
LKV-konfiguration:
Fält | Värde |
---|---|
Indatasökväg* | .payload.temperature |
Utdatasökväg | .payload.lkvtemperature |
Förfallotid | 10h |
Tidsstämpelsökväg | .payload.lkvtemperature_timestamp |
De spårade LKV-värdena är:
.payload.temperature
är 250.- Tidsstämpeln för LKV är
2023-01-11T10:02:07Z
För ett meddelande som kommer klockan 11:05 med en nyttolast som inte har egenskapen temperature berikar LKV-fasen meddelandet med de spårade värdena:
Exempel på indata till LKV-fasen kl. 11:05:
{
"systemProperties":{
"partitionKey":"pump",
"partitionId":5,
"timestamp":"2023-01-11T11:05:00Z"
},
"qos":1,
"topic":"/assets/pump/#"
},
"payload":{
"runningState": true
}
}
Exempel på utdata från LKV-fasen kl. 11:05:
{
"systemProperties":{
"partitionKey":"pump",
"partitionId":5,
"timestamp":"2023-01-11T11:05:00Z"
},
"qos":1,
"topic":"/assets/pump/#"
},
"payload":{
"lkvtemperature":250,
"lkvtemperature_timestamp"":"2023-01-11T10:02:07Z"
"runningState": true
}
}