

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiungere attributi di propagazione per l’arricchimento dei messaggi
<a name="thing-types-propagating-attributes"></a>

In AWS IoT Core, è possibile arricchire i messaggi MQTT dai dispositivi aggiungendo attributi di propagazione, che sono metadati contestuali provenienti da attributi degli oggetti o dettagli di connessione. Questo processo, noto come arricchimento dei messaggi, può essere utile in vari scenari. Ad esempio, puoi arricchire i messaggi per ogni operazione di pubblicazione in entrata senza apportare modifiche sul dispositivo o dover utilizzare regole. Sfruttando gli attributi di propagazione, puoi trarre vantaggio da un modo più efficiente ed economico per arricchire i tuoi dati IoT senza la complessità della configurazione delle regole o della gestione delle configurazioni di ripubblicazione.

[https://docs.aws.amazon.com//iot/latest/developerguide/iot-basic-ingest.html](https://docs.aws.amazon.com//iot/latest/developerguide/iot-basic-ingest.html) È importante notare che, sebbene i dispositivi di pubblicazione possano utilizzare qualsiasi versione MQTT, gli abbonati (applicazioni o servizi che utilizzano messaggi) devono supportare [MQTT 5](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html) per ricevere i messaggi arricchiti con attributi di propagazione. I messaggi arricchiti verranno aggiunti come proprietà utente MQTT 5 a ogni messaggio pubblicato dai dispositivi. Se si utilizzano [le regole](https://docs.aws.amazon.com//iot/latest/developerguide/iot-rules.html), è possibile sfruttare la funzione [get\$1user\$1properties](https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-get-user-properties) per recuperare i dati arricchiti per il routing o l'elaborazione dei messaggi in base ai dati.

In AWS IoT Core, puoi aggiungere attributi di propagazione quando crei o aggiorni un tipo di oggetto, utilizzando o il. Console di gestione AWS AWS CLI

**Importante**  
Quando si aggiungono attributi di propagazione, è necessario assicurarsi che il client che pubblica il messaggio sia stato autenticato con un certificato. Per ulteriori informazioni, consulta [Autenticazione client](client-authentication.md).

**Nota**  
Se si tenta di testare questa funzionalità utilizzando il client di test MQTT all'interno della console, potrebbe non funzionare poiché richiede l'autenticazione dei client MQTT con un certificato associato.

## Console di gestione AWS
<a name="configure-propagating-attributes-console"></a>

**Per aggiungere attributi di propagazione per l'arricchimento dei messaggi utilizzando il Console di gestione AWS**

1. Aprire la [AWS IoT home page](https://console.aws.amazon.com//iot/home#/home) nella AWS IoT console. Nella barra di navigazione a sinistra, da **Gestisci**, scegli **Tutti i dispositivi**. Quindi scegli **Tipi di oggetti**.

1. Nella pagina **Tipi di oggetto**, scegli **Crea tipo di oggetto**.

   Per configurare l'arricchimento dei messaggi aggiornando un tipo di oggetto, scegli un tipo di oggetto. Quindi, nella pagina dei dettagli del tipo di oggetto, scegli **Aggiorna**.

1. Nella pagina **Crea tipo di oggetto**, scegli o inserisci le informazioni sul tipo di oggetto nelle **proprietà del tipo di oggetto**.

   Se si sceglie di aggiornare un tipo di oggetto, verranno visualizzate **le proprietà del tipo di oggetto** dopo aver scelto **Aggiorna** nel passaggio precedente.

1. In **Configurazione aggiuntiva**, espandi **Attributi di propagazione**. Quindi scegliete l'**attributo** dell'oggetto e immettete l'attributo dell'oggetto che desiderate inserire nei messaggi pubblicati MQTT5 . Utilizzando la console, è possibile aggiungere fino a tre attributi dell'oggetto.

   Nella sezione **Attributi di propagazione**, scegliete **Attributo di connessione** e immettete il tipo di attributo e, facoltativamente, il nome dell'attributo.

1. Facoltativamente, aggiungi tag. Quindi scegli **Crea tipo di oggetto**.

   Se scegli di aggiornare un tipo di oggetto, scegli **Aggiorna tipo di oggetto**.

## AWS CLI
<a name="configure-propagating-attributes-cli"></a>

1. Per aggiungere attributi di propagazione per l'arricchimento dei messaggi creando un nuovo tipo di oggetto utilizzando il AWS CLI, esegui il 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) Un comando di esempio può essere il seguente.

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

   L'output del comando può essere simile al seguente.

   ```
   {
   	"thingTypeName": "LightBulb",
   	"thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb",
   	"thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190"
   }
   ```

1. Per configurare l'arricchimento dei messaggi aggiornando un oggetto type using AWS CLI, esegui il [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)comando. Tieni presente che puoi eseguire l'aggiornamento solo `mqtt5Configuration` quando esegui questo comando. Un comando di esempio può essere il seguente.

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

   Il comando non produce output.

1. Per descrivere un tipo di oggetto, esegui il `describe-thing-type` comando. Questo comando produrrà un output con le informazioni di configurazione per l'arricchimento dei messaggi sul `thing-type-properties` campo. Un comando di esempio può essere il seguente.

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

   L'output può essere simile al seguente.

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

Per ulteriori informazioni, consulta [Tipi di oggetti](thing-types.md).