View a markdown version of this page

Ajout de la propagation des attributs pour l’enrichissement des messages - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout de la propagation des attributs pour l’enrichissement des messages

Dans AWS IoT Core, vous pouvez enrichir les messages MQTT des appareils en ajoutant des attributs de propagation, qui sont des métadonnées contextuelles provenant d'attributs d'objets ou de détails de connexion. Ce processus, connu sous le nom d'enrichissement des messages, peut être utile dans divers scénarios. Par exemple, vous pouvez enrichir les messages pour chaque opération de publication entrante sans apporter de modifications au niveau de l'appareil ni utiliser de règles. En tirant parti des attributs de propagation, vous pouvez bénéficier d'un moyen plus efficace et rentable d'enrichir vos données IoT sans les complexités liées à la configuration des règles ou à la gestion des configurations de republication.

La fonction d'enrichissement des messages est disponible pour les AWS IoT Core clients qui utilisent Basic Ingest et Message Broker. Il est important de noter que même si les appareils de publication peuvent utiliser n'importe quelle version de MQTT, les abonnés (applications ou services consommant des messages) doivent prendre en charge MQTT 5 pour recevoir les messages enrichis avec des attributs de propagation. Les messages enrichis seront ajoutés en tant que propriétés utilisateur de MQTT 5 à chaque message publié depuis des appareils. Si vous utilisez des règles, vous pouvez tirer parti de la fonction get_user_properties pour récupérer les données enrichies à des fins d'acheminement ou de traitement des messages en fonction des données.

Dans AWS IoT Core, vous pouvez ajouter des attributs de propagation lorsque vous créez ou mettez à jour un type d'objet, en utilisant le Console de gestion AWS ou le AWS CLI.

Important

Lorsque vous ajoutez des attributs de propagation, vous devez vous assurer que le client qui publie le message a été authentifié par un certificat. Pour de plus amples informations, veuillez consulter Authentification client.

Note

Si vous tentez de tester cette fonctionnalité à l'aide du client de test MQTT dans la console, elle risque de ne pas fonctionner car cette fonctionnalité nécessite des clients MQTT authentifiés avec un certificat associé.

Console de gestion AWS

Pour ajouter des attributs de propagation pour l'enrichissement des messages à l'aide du Console de gestion AWS
  1. Ouvrez la page d'AWS IoT accueil dans la AWS IoT console. Dans la barre de navigation de gauche, dans Gérer, sélectionnez Tous les appareils. Choisissez ensuite Types d'objets.

  2. Sur la page Types d'objets, choisissez Créer un type d'objet.

    Pour configurer l'enrichissement des messages en mettant à jour un type d'objet, choisissez-en un. Ensuite, sur la page des détails du type d'objet, choisissez Mettre à jour.

  3. Sur la page Créer un type d'objet, choisissez ou saisissez les informations du type d'objet dans les propriétés du type d'objet.

    Si vous choisissez de mettre à jour un type d'objet, les propriétés du type d'objet s'afficheront après avoir choisi Mettre à jour à l'étape précédente.

  4. Dans Configuration supplémentaire, développez Attributs de propagation. Choisissez ensuite l'attribut d'objet et entrez l'attribut d'objet que vous souhaitez renseigner dans les messages MQTT5 publiés. À l'aide de la console, vous pouvez ajouter jusqu'à trois attributs d'objet.

    Dans la section Attributs de propagation, choisissez Attribut de connexion et entrez le type d'attribut et éventuellement le nom de l'attribut.

  5. Ajoutez éventuellement des balises. Choisissez ensuite Créer un type d'objet.

    Si vous choisissez de mettre à jour un type d'objet, choisissez Mettre à jour le type d'objet.

AWS CLI

  1. Pour ajouter des attributs de propagation pour l'enrichissement des messages en créant un nouveau type d'objet à l'aide de AWS CLI, exécutez la commande create-thing-type. Un exemple de commande peut être le suivant.

    aws iot create-thing-type \ --thing-type-name "LightBulb" \ --thing-type-properties "{\"mqtt5Configuration\":{\"propagatingAttributes\":[{\"userPropertyKey\":\"iot:ClientId\", \"connectionAttribute\":\"iot:ClientId\"}, {\"userPropertyKey\":\"test\", \"thingAttribute\":\"A\"}]}}" \

    Le résultat de la commande peut ressembler à ce qui suit.

    { "thingTypeName": "LightBulb", "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190" }
  2. Pour configurer l'enrichissement des messages en mettant à jour un type d'objet à l'aide de AWS CLI, exécutez la commande update-thing-type. Notez que vous ne pouvez effectuer la mise à jour que mqtt5Configuration lorsque vous exécutez cette commande. Un exemple de commande peut être le suivant.

    aws iot update-thing-type \ --thing-type-name "MyThingType" \ --thing-type-properties "{\"mqtt5Configuration\":{\"propagatingAttributes\":[{\"userPropertyKey\":\"iot:ClientId\", \"connectionAttribute\":\"iot:ClientId\"}, {\"userPropertyKey\":\"test\", \"thingAttribute\":\"A\"}]}}" \

    Cette commande ne produit aucune sortie.

  3. Pour décrire un type d'objet, exécutez la describe-thing-type commande. Cette commande produira une sortie contenant des informations de configuration d'enrichissement des messages dans le thing-type-properties champ. Un exemple de commande peut être le suivant.

    aws iot describe-thing-type \ --thing-type-name "LightBulb"

    La sortie peut ressembler à ce qui suit.

    { "thingTypeName": "LightBulb", "thingTypeId": "bdf72512-0116-4392-8d79-bf39b17ef73d", "thingTypeArn": "arn:aws:iot:us-east-1:123456789012:thingtype/LightBulb", "thingTypeProperties": { "mqtt5Configuration": { "propagatingAttributes": [ { "userPropertyKey": "iot:ClientId", "connectionAttribute": "iot:ClientId" }, { "userPropertyKey": "test", "thingAttribute": "attribute" } ] } }, "thingTypeMetadata": { "deprecated": false, "creationDate": "2024-10-18T17:37:46.656000+00:00" } }

Pour de plus amples informations, veuillez consulter Types d'objets.