View a markdown version of this page

Aggiungere attributi di propagazione per l’arricchimento dei messaggi - AWS IoT Core

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

In AWS IoT Core, è possibile arricchire i messaggi MQTT provenienti dai dispositivi aggiungendo attributi di propagazione, che sono metadati contestuali provenienti dagli attributi degli oggetti o dai 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.

La funzionalità di arricchimento dei messaggi è disponibile per i clienti che utilizzano Basic Ingest e Message Broker AWS IoT Core . https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html È importante notare che, sebbene i dispositivi di pubblicazione possano utilizzare qualsiasi versione MQTT, gli abbonati (applicazioni o servizi che consumano messaggi) devono supportare MQTT 5 per ricevere i messaggi arricchiti con attributi di propagazione. I messaggi arricchiti verranno aggiunti come proprietà utente di MQTT 5 a ogni messaggio pubblicato dai dispositivi. Se utilizzi le regole, puoi sfruttare la funzione get_user_properties per recuperare i dati arricchiti per il routing o l'elaborazione dei messaggi in base ai dati.

In AWS IoT Core, è possibile aggiungere attributi di propagazione quando si crea o si aggiorna 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.

Nota

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

Console di gestione AWS

Per aggiungere attributi di propagazione per l'arricchimento dei messaggi utilizzando Console di gestione AWS
  1. Aprire la AWS IoT home page nella console. AWS IoT Nella barra di navigazione a sinistra, da Gestisci, scegli Tutti i dispositivi. Quindi scegli Tipi di oggetti.

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

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

    Se scegli di aggiornare un tipo di oggetto, vedrai le proprietà del tipo di oggetto dopo aver scelto Aggiorna nel passaggio precedente.

  4. In Configurazione aggiuntiva, espandi Attributi di propagazione. Quindi scegli l'attributo Thing e inserisci l'attributo thing che desideri inserire nei messaggi MQTT5 pubblicati. Utilizzando la console, puoi aggiungere fino a tre attributi di oggetto.

    Nella sezione Attributi di propagazione, scegli Attributo di connessione e inserisci il tipo di attributo e, facoltativamente, il nome dell'attributo.

  5. Facoltativamente, aggiungi tag. Quindi scegli Crea tipo di oggetto.

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

AWS CLI

  1. Per aggiungere attributi di propagazione per l'arricchimento dei messaggi creando un nuovo tipo di oggetto utilizzando il comando AWS CLI create-thing-type. 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" }
  2. Per configurare l'arricchimento dei messaggi aggiornando un tipo di oggetto utilizzando AWS CLI, esegui il comando update-thing-type. Nota che puoi eseguire l'aggiornamento mqtt5Configuration solo 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.

  3. Per descrivere un tipo di oggetto, esegui il describe-thing-type comando. Questo comando produrrà un output con le informazioni di configurazione dell'arricchimento dei messaggi nel 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.