Publicera data till en MQTT-koordinator med azure IoT Data Processor Preview
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 MQ-målet för att publicera bearbetade meddelanden till en MQTT-koordinator, till exempel en Azure IoT MQ Preview-instans, på gränsen. Dataprocessorn ansluter till en MQTT-koordinator med hjälp av MQTT v5.0. Målet publicerar meddelanden till MQTT-koordinatorn när fasen tar emot dem. MQ-målet stöder inte batchbearbetning.
Förutsättningar
För att konfigurera och använda en målpipelinefas behöver du en distribuerad instans av Azure IoT Data Processor Preview.
Konfigurera målfasen
JSON-konfigurationen för MQ-målsteget definierar detaljerna för 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 | Type | Beskrivning | Obligatoriskt | Standardvärde | Exempel |
---|---|---|---|---|---|
Name | String | Ett namn som ska visas i användargränssnittet för dataprocessorn. | Ja | - | MQTT broker output |
beskrivning | String | En användarvänlig beskrivning av vad fasen gör. | Nej | Write to topic default/topic1 |
|
Broker | String | Asynkron adress. | Ja | - | mqtt://mqttEndpoint.cluster.local:1111 |
Autentisering | String | Autentiseringsinformationen för att ansluta till MQTT-asynkron meddelandekö. None /Username/Password /Service account token (SAT) |
Ja | Service account token (SAT) |
Username/Password |
Username | String | Användarnamnet som ska användas när Authentication är inställt på Username/Password . |
Nej | - | myusername |
Lösenord | String | Den hemliga referensen för lösenordet som ska användas när Authentication är inställt på Username/Password . |
Nej | - | mysecret |
Område | Statisk/dynamisk | Ämnesdefinitionen. Sträng om typen är statisk, jq sökväg om typen är dynamisk. | Ja | - | ".topic" |
Dataformat1 | String | Formatet som meddelanden ska serialiseras till. | Ja | - | Raw |
Användaregenskaper | En lista över nyckel/värde-par | Lista över anpassade användaregenskaper som ska anges för varje MQTT-meddelande. Kan innehålla statisk information eller data från varje meddelande. | Nej | [] |
| Försök igen | Försök igen | Den återförsöksprincip som ska användas. | Nej | default
| fixed
|
1Dataformat: Använd dataprocessorns inbyggda serialiserare för att serialisera dina meddelanden till följande format innan den publicerar meddelanden till MQTT-koordinatorn:
Raw
JSON
JSONStream
CSV
Protobuf
MessagePack
CBOR
Välj Raw
när du inte behöver serialisering. Raw skickar data till MQTT-koordinatorn i dess aktuella format.
Exempelkonfiguration
I följande JSON-exempel visas en fullständig MQ-målfaskonfiguration som skriver hela meddelandet till MQ-ämnet pipelineOutput
:
{
"displayName": "MQ - 67e929",
"type": "output/mqtt@v1",
"viewOptions": {
"position": {
"x": 0,
"y": 992
}
},
"broker": "tls://aio-mq-dmqtt-frontend:8883",
"qos": 1,
"authentication": {
"type": "serviceAccountToken"
},
"topic": {
"type": "static",
"value": "pipelineOutput"
},
"format": {
"type": "json",
"path": "."
},
"userProperties": [],
"retry": {
"type": "fixed",
"interval": "20s",
"maxRetries": 4
}
}
Konfigurationen definierar att:
- Autentiseringen utförs med hjälp av tjänstkontotoken.
- Ämnet är en statisk sträng med namnet
pipelineOutput
. - Utdataformatet är
JSON
. - Formatsökvägen är
.
att se till att hela databehandlingsmeddelandet skrivs till MQ. Om du bara vill skriva nyttolasten ändrar du sökvägen till ''.payload'.
Exempel
I följande exempel visas ett exempel på ett indatameddelande till MQ-målsteget:
{
"payload": {
"Batch": 102,
"CurrentTemperature": 7109,
"Customer": "Contoso",
"Equipment": "Boiler",
"IsSpare": true,
"LastKnownTemperature": 7109,
"Location": "Seattle",
"Pressure": 7109,
"Timestamp": "2023-08-10T00:54:58.6572007Z",
"assetName": "oven"
},
"qos": 0,
"systemProperties": {
"partitionId": 0,
"partitionKey": "quickstart",
"timestamp": "2023-11-06T23:42:51.004Z"
},
"topic": "quickstart"
}