

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Agregación de atributos de propagación para enriquecer los mensajes
<a name="thing-types-propagating-attributes"></a>

En él AWS IoT Core, puede enriquecer los mensajes MQTT de los dispositivos añadiendo atributos de propagación, que son metadatos contextuales 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 función de enriquecimiento de mensajes está disponible para AWS IoT Core los clientes que utilizan [Basic Ingest](https://docs.aws.amazon.com//iot/latest/developerguide/iot-basic-ingest.html) and Message Broker.](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) 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](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html) 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](https://docs.aws.amazon.com//iot/latest/developerguide/iot-rules.html), puede sacar partido de la función [get\$1user\$1properties](https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-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 añadir atributos de propagación al crear o actualizar un tipo de cosa, utilizando el o el Consola de administración de AWS . 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](client-authentication.md).

**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
<a name="configure-propagating-attributes-console"></a>

**Para añadir atributos de propagación para el enriquecimiento de los mensajes mediante el Consola de administración de AWS**

1. Abra la [página de AWS IoT inicio](https://console.aws.amazon.com//iot/home#/home) en la AWS IoT consola. En el panel de navegación de la izquierda, en **Administrar**, seleccione **Todos los dispositivos**. A continuación, seleccione **Tipos de objetos**.

1. 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**.

1. 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.

1. En **Configuración adicional**, amplíe la opción **Atributos de propagación**. A continuación, elija el **atributo** de cosa e introduzca el atributo de cosa que desee rellenar en los MQTT5 mensajes 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.

1. 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
<a name="configure-propagating-attributes-cli"></a>

1. Para añadir atributos de propagación para enriquecer los mensajes mediante la creación de un nuevo tipo de elemento mediante el AWS CLI, ejecute el comando. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/create-thing-type.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/create-thing-type.html) 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"
   }
   ```

1. Para configurar el enriquecimiento de mensajes mediante la actualización de un tipo de cosa mediante AWS CLI, ejecute el comando. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-thing-type.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-thing-type.html) 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.

1. 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](thing-types.md).