Utöka data 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.
Berikningssteget är ett valfritt, mellanliggande pipelinesteg som gör att du kan utöka pipelinens data med kontextuell information och referensinformation från datauppsättningar för referensdatalager. Berikningssteget hjälper dig att kontextualisera data från olika datakällor för att göra data i den här pipelinen mer meningsfulla och användbara.
Du kan koppla pipelinens data till en referensdatauppsättnings data med hjälp av vanliga taggar, ID:er eller tidsstämplar.
Förutsättningar
För att konfigurera och använda en berikande pipelinefas behöver du en distribuerad instans av Azure IoT Data Processor Preview som innehåller den valfria dataprocessorkomponenten.
Konfigurera fasen
Den berikande JSON-fasens konfiguration definierar detaljerna i fasen. Om du vill skapa fasen kan du antingen interagera med det formulärbaserade användargränssnittet eller ange JSON-konfigurationen på fliken Avancerat :
Fält | beskrivning | Obligatoriskt | Alternativ | Exempel |
---|---|---|---|---|
Name | Ett namn som ska visas i användargränssnittet för dataprocessorn. | Ja | - | ERP Context |
beskrivning | En användarvänlig beskrivning av vad berikningssteget gör. | Nej | - | Enrich with vendor dataset |
Datamängd | Välj datauppsättningen med referensdata för berikningen. | Ja | - | Vendor dataset |
Utmatningssökväg | Sökväg till platsen i det utgående meddelandet för att placera referensdata. | Ja | - | .payload.erp |
Berika som matris | Om sant är den berikade posten alltid en matris. | Nej | No /Yes |
Yes |
Gräns | Begränsa antalet poster som returneras från referensdatauppsättningen. Den här inställningen styr antalet poster som utökas i meddelandet. | Nej | - | 100 |
Villkorsoperator > | Kopplingsvillkorsoperatorn för databerikning. | Nej | Key match /Past nearest /Future nearest |
Key match |
Indatasökväg för villkor > | Sökväg till nyckeln som ska användas för att matcha mot varje villkor. | Nej | - | .payload.asset |
Villkorsegenskap > | Egenskapsnamn eller tidsstämpel för kopplingsvillkorsåtgärden som tillhandahålls vid konfiguration av datauppsättning | Nej | Välj ett egenskapsnamn eller tidsstämpel i listrutan. | equipmentName |
Villkorsoperatorer
Kopplingsvillkor | beskrivning |
---|---|
Key match |
En ID-baserad koppling som kopplar samman data för vilka det finns en exakt matchning mellan nyckelns eller egenskapens namn som anges i berikningssteget och referensdatalagret. |
Past nearest |
En tidsstämpelbaserad koppling som sammanfogar referensdata med närmaste tidigare tidsstämpel i referensdatalagret i förhållande till den meddelandetidsstämpel som anges i berikande fasen. |
Future nearest |
En tidsstämpelbaserad koppling som kopplar referensdata med närmaste framtida tidsstämpel i referensdatalagret i förhållande till meddelandetidsstämpeln som tillhandahålls i berikande fasen. |
Anteckningar:
- Om du inte anger något villkor utökas alla referensdata från datamängden.
- Om indatasökvägen refererar till en tidsstämpel måste tidsstämplarna vara i RFC3339 format.
Key match
är skiftlägeskänsligt.- Varje berikande steg kan ha upp till 10 villkor.
- Varje berikande steg kan bara ha ett tidsbaserat kopplingsvillkor:
Past nearest
ellerFuture nearest
. - Om en
Key match
ID-baserad koppling kombineras medPast nearest
ellerFuture nearest
tidsstämpelbaserade kopplingsvillkorKey match
tillämpas först för att filtrera de returnerade posterna förePast nearest
ellerFuture nearest
tillämpas. - Du kan tillämpa flera
Key match
villkor på de returnerade posterna. En logiskAND
åtgärd utförs mellan fleraKey match
villkor.
Om podden för pipelinen oväntat slutar fungera finns det en risk att kopplingen till den efterloggade händelsedatapipelinen använder ogiltiga eller framtida värden från datauppsättningen för referensdatalagret. Den här situationen kan leda till oönstrade dataanrikning. Använd villkoret Past nearest
för att åtgärda problemet och filtrera bort sådana data.
Genom att använda villkoret Past nearest
i berikningssteget beaktas endast tidigare värden från referensdata för berikning. Den här metoden säkerställer att data som kopplas inte innehåller några framtida värden från datauppsättningen för referensdatalager. Villkoret Past nearest
filtrerar bort framtida värden, vilket möjliggör mer exakt och tillförlitlig databerikning.
Exempelkonfiguration
I konfigurationen för berikningssteget definierar du följande egenskaper:
Fält | Exempel |
---|---|
Name | anrikning |
beskrivning | berika med utrustningsdata |
Datamängd | equipment |
Utmatningssökväg | .payload |
Berika som matris | Ja |
Villkorsoperator > | Key match |
Villkorsindatasökväg > | .payload.assetid |
Villkorsegenskap > | equipment name |
Kopplingen använder ett villkor som matchar assetid
värdet i det inkommande meddelandet med fältet equipment name
i referensdatauppsättningen. Den här konfigurationen berikar meddelandet med relevanta data från datauppsättningen.
När anrikningssteget tillämpar kopplingsvillkoret lägger det till kontextuella data från referensdatauppsättningen till meddelandet när det flödar genom pipelinen.
Exempel
Det här exemplet bygger på exemplet med referensdatauppsättningar . Du vill utöka tidsseriedata som en pipeline tar emot data från en tillverkningsanläggning med referensdata med hjälp av berikningssteget. I det här exemplet används en inkommande nyttolast som ser ut som följande JSON:
payload: {
{
"assetid": "Oven",
"timestamp": "T05:15:00.000Z",
"temperature": 120,
"humidity": 99
},
{
"assetid": "Oven",
"timestamp": "T05:16:00.000Z",
"temperature": 127,
"humidity": 98
},
{
"AssetID": "Mixer",
"timestamp": "T05:17:00.000Z",
"temperature": 89,
"humidity": 95
},
{
"AssetID": "Slicer",
"timestamp": "T05:19:00.000Z",
"temperature": 56,
"humidity": 30
}
}
Följande JSON visar ett exempel på ett utökat utdatameddelande baserat på den tidigare konfigurationen:
payload: {
{
"assetid": "Oven",
"timestamp": "2023-05-25T05:15:00.000Z",
"temperature": 120,
"humidity": 99,
"location": "Seattle",
"installationDate": "2002-03-05T00:00:00Z",
"isSpare": false
},
{
"assetid": "Oven",
"timestamp": "2023-05-25T05:16:00.000Z",
"temperature": 127,
"humidity": 98,
"location": "Seattle",
"installationDate": "2002-03-05T00:00:00Z",
"isSpare": false
},
{
"assetid": "Mixer",
"timestamp": "2023-05-25T05:17:00.000Z",
"temperature": 89,
"humidity": 95,
"location": "Tacoma",
"installationDate": "2005-11-15T00:00:00Z",
"isSpare": false
},
{
"assetid": "Slicer",
"Timestamp": "2023-05-25T05:19:00.000Z",
"Temperature": 56,
"humidity": 30,
"location": "Seattle",
"installationDate": "2021-04-25T00:00:00Z",
"isSpare": true
}
}
Relaterat innehåll
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för