Partager via


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"
}