Transformera 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.
Använd transformeringssteget för att utföra strukturella omvandlingar på meddelanden i en pipeline, till exempel:
- Byt namn på taggar och egenskaper
- Ta bortbatchdata
- Lägga till nya egenskaper
- Lägga till beräknade värden
Transformeringssteget använder jq för att stödja datatransformering:
- Varje pipelinepartition omvandlar meddelanden oberoende av varandra.
- Fasen matar ut ett transformerat meddelande baserat på det jq-uttryck som du anger.
- Skapa ett jq-uttryck för att transformera ett meddelande baserat på strukturen för det inkommande meddelandet till fasen.
Förutsättningar
För att konfigurera och använda en transformeringspipelinefas behöver du:
- En distribuerad instans av Azure IoT Data Processor Preview som innehåller den valfria dataprocessorkomponenten.
- En förståelse för jq-uttryck.
Konfigurera fasen
JSON-konfigurationen för transformeringssteget 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 :
Exempelkonfiguration
I följande transformeringsexempel konverteras matrisen med taggar i indatameddelandet till ett objekt som innehåller alla taggar och deras värden:
{
"displayName": "TransformInput",
"description": "Make array of tags into one object",
"query": ".payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add)"
}
Utdata från transformeringssteget ser ut som i följande exempel:
{
"systemProperties": {
"partitionKey": "foo",
"partitionId": 5,
"timestamp": "2023-01-11T10:02:07Z"
},
"qos": 1,
"topic": "/assets/foo/tags/bar",
"properties": {
"responseTopic": "outputs/foo/tags/bar",
"contentType": "application/json",
"payloadFormat": 1,
"correlationData": "base64::Zm9v",
"messageExpiry": 412
},
"userProperties": [
{
"key": "prop1",
"value": "value1"
},
{
"key": "prop2",
"value": "value2"
}
],
"payload": {
"values": {
"temperature": 250,
"pressure": 30,
"humidity": 10,
"runningStatus": 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