Agregación de atributos de propagación para enriquecer los mensajes - AWS IoT Core

Agregación de atributos de propagación para enriquecer los mensajes

En AWS IoT Core, puede enriquecer los mensajes de MQTT de los dispositivos agregando atributos de propagación, que son metadatos contextuales creados a partir de atributos de objetos o detalles de conexión. Este proceso, conocido como enriquecimiento de mensajes, puede resultar útil en varios escenarios. Por ejemplo, puede enriquecer los mensajes para cada operación de publicación entrante sin realizar cambios en el dispositivo ni tener que usar reglas. Al sacar partido de los atributos de propagación, puede beneficiarse de una forma más eficiente y rentable de enriquecer los datos de IoT sin las complejidades de configurar reglas ni administrar las configuraciones de republicación.

La característica de enriquecimiento de mensajes está disponible para los clientes de AWS IoT Core que utilicen Basic Ingest y agente de mensajes. Es importante tener en cuenta que, si bien los dispositivos de publicación pueden utilizar cualquier versión de MQTT, los suscriptores (aplicaciones o servicios que consumen mensajes) deben ser compatibles con MQTT 5 para recibir los mensajes enriquecidos con atributos de propagación. Los mensajes enriquecidos se agregarán como propiedades de usuario de MQTT 5 a todos los mensajes que se publiquen desde los dispositivos. Si usa reglas, puede sacar partido de la función get_user_properties para recuperar los datos enriquecidos para el enrutamiento o procesamiento de los mensajes en función de los datos.

En AWS IoT Core, puede agregar atributos de propagación al crear o actualizar un tipo de objeto mediante la Consola de administración de AWS o la AWS CLI.

importante

Al agregar atributos de propagación, debe asegurarse de que el cliente que publica el mensaje se haya autenticado con un certificado. Para obtener más información, consulte Autenticación del cliente.

nota

Si intenta probar esta característica con el cliente de prueba de MQTT en la consola, es posible que no funcione, ya que esta característica requiere que los clientes de MQTT se hayan autenticado con un certificado asociado.

Consola de administración de AWS

Cómo agregar atributos de propagación para el enriquecimiento de los mensajes mediante la Consola de administración de AWS
  1. Abra la página de inicio de AWS IoT en la consola de AWS IoT. En el panel de navegación de la izquierda, en Administrar, seleccione Todos los dispositivos. A continuación, seleccione Tipos de objetos.

  2. En la página Tipos de objetos, seleccione Crear tipo de objeto.

    Para configurar el enriquecimiento de mensajes mediante la actualización de un tipo de objeto, elija un tipo de objeto. A continuación, en la página de detalles del tipo de objeto, seleccione Actualizar.

  3. En la página Crear tipo de objeto, seleccione o introduzca la información del tipo de objeto en Propiedades del tipo de objeto.

    Si decide actualizar un tipo de objeto, aparecerá la opción Propiedades del tipo de objeto después de seleccionar Actualizar en el paso anterior.

  4. En Configuración adicional, amplíe la opción Atributos de propagación. A continuación, elija Atributo de objeto e introduzca el atributo de objeto que desee rellenar en los mensajes de MQTT5 publicados. Mediante la consola, puede agregar hasta tres atributos de objeto.

    En la sección Atributos de propagación, elija Atributo de conexión e introduzca el tipo de atributo y, si lo desea, su nombre.

  5. Como opción, agregue etiquetas. A continuación, elija Crear tipo de objeto.

    Si decide actualizar un tipo de objeto, seleccione Actualizar tipo de objeto.

AWS CLI

  1. Para agregar atributos de propagación para enriquecer los mensajes mediante la creación de un nuevo tipo de objeto mediante la AWS CLI, ejecute el comando create-thing-type. El siguiente comando es un ejemplo.

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

    El resultado del comando puede tener un aspecto similar al siguiente.

    { "thingTypeName": "LightBulb", "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190" }
  2. Para configurar el enriquecimiento de mensajes mediante la actualización de un tipo de objeto con la AWS CLI, ejecute el comando update-thing-type. Tenga en cuenta que solo puede actualizar mqtt5Configuration al ejecutar este comando. El siguiente comando es un ejemplo.

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

    Este comando no proporciona ninguna salida.

  3. Para describir un tipo de objeto, ejecute el comando describe-thing-type. Este comando generará un resultado con la información de configuración del enriquecimiento de mensajes en el campo thing-type-properties. El siguiente comando es un ejemplo.

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

    El resultado puede ser similar al siguiente.

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

Para obtener más información, consulte Tipos de cosas.