Publier des données sur un répartiteur MQTT à l’aide du processeur de données
Important
Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.
Vous devrez déployer une nouvelle installation d’Azure IoT Operations lorsqu’une version en disponibilité générale est mise à disposition, vous ne pourrez pas mettre à niveau une installation en préversion.
Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Utilisez la destination MQ pour publier des messages traités sur un répartiteur MQTT, tel qu’une instance de répartiteur MQTT, sur la périphérie. Le processeur de données se connecte à un MQTT broker à l’aide de MQTT v5.0. La destination publie des messages sur le MQTT broker à mesure que l’index les reçoit. La destination MQ ne prend pas en charge le traitement par lots.
Prérequis
Pour configurer et utiliser une étape de pipeline de destination, vous avez besoin d’une instance déployée du processeur de données qui inclut le composant facultatif du processeur de données.
Configuration de l’index de destination
La configuration JSON de l’index de destination MQ définit les détails de l’étape. Pour créer l’index, vous pouvez interagir avec l’interface utilisateur basée sur le formulaire ou fournir la configuration JSON sous l’onglet Advanced (Avancé) :
Champ | Type | Description | Obligatoire | Par défaut | Exemple |
---|---|---|---|---|---|
Nom | Chaîne | Nom à afficher dans l’interface utilisateur du processeur de données. | Oui | - | MQTT broker output |
Description | Chaîne | Description conviviale de ce que fait l’index. | Non | Write to topic default/topic1 |
|
Service Broker | Chaîne | Adresse du répartiteur. | Oui | - | mqtt://mqttEndpoint.cluster.local:1111 |
Authentification | Chaîne | Détails de l’authentification pour se connecter au MQTT broker. None /Username/Password /Service account token (SAT) |
Oui | Service account token (SAT) |
Username/Password |
Nom d’utilisateur | Chaîne | Nom d’utilisateur à utiliser quand Authentication est défini sur Username/Password . |
Non | - | myusername |
Mot de passe | Chaîne | La référence secrète du mot de passe à utiliser lorsque Authentication est défini sur Username/Password . |
Non | - | mysecret |
Rubrique | Static/Dynamic | Définition de la rubrique. Chaîne si le type est statique, chemin jq si le type est dynamique. | Oui | - | ".topic" |
Format de données 1 | Chaîne | Format vers laquelle sérialiser les messages. | Oui | - | Raw |
Propriétés de l’utilisateur | Une liste de paires clé/valeur | Liste des propriétés utilisateur personnalisées à définir sur chaque message MQTT. Peut inclure des informations statiques ou des données de chaque message. | Non | [] |
| Nouvelle tentative | Nouvelle tentative | La stratégie de nouvelles tentatives à utiliser. | Non | default
| fixed
|
Format de données 1: utilisez le sérialiseur intégré du processeur de données pour sérialiser vos messages dans les formats suivants avant de publier des messages dans le répartiteur MQTT :
Raw
JSON
JSONStream
CSV
Protobuf
MessagePack
CBOR
Sélectionnez Raw
lorsque vous n’avez pas besoin de sérialisation. Raw envoie les données au MQTT broker dans son format actuel.
Exemple de configuration
L’exemple JSON suivant montre une configuration complète de l’index de destination MQ qui écrit l’intégralité du message dans la rubrique pipelineOutput
MQ :
{
"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
}
}
La configuration définit ce qui suit :
- L’authentification est effectuée à l’aide du jeton de compte de service.
- La rubrique est une chaîne statique appelée
pipelineOutput
. - Le format de sortie est
JSON
. - Le chemin d’accès au format
.
consiste à s’assurer que l’ensemble du message du processeur de données est écrit dans MQ. Pour écrire uniquement la charge utile, remplacez le chemin d’accès par « .payload ».
Exemple
L’exemple suivant montre un exemple de message d’entrée à l’étape de destination MQ :
{
"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"
}