Interagisci con le ombre nei componenti - AWS IoT Greengrass

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

Interagisci con le ombre nei componenti

È possibile sviluppare componenti personalizzati, inclusi i componenti della funzione Lambda, che utilizzano il servizio shadow locale per leggere e modificare documenti shadow locali e documenti shadow dei dispositivi client.

I componenti personalizzati interagiscono con il servizio shadow locale utilizzando le librerie IPC AWS IoT Greengrass Core di. SDK per dispositivi AWS IoT Il componente shadow manager abilita il servizio shadow locale sul dispositivo principale.

Per distribuire il componente shadow manager su un dispositivo principale Greengrass, crea una distribuzione che aws.greengrass.ShadowManager includa il componente.

Nota

Per impostazione predefinita, la distribuzione del componente shadow manager abilita solo le operazioni shadow locali. AWS IoT GreengrassPer abilitare la sincronizzazione delle informazioni sullo stato dello shadow per le ombre dei dispositivi principali o qualsiasi ombra per i dispositivi client con i corrispondenti documenti cloud shadow inAWS IoT Core, è necessario creare un aggiornamento della configurazione per il componente shadow manager che include il parametro. synchronize Per ulteriori informazioni, consulta Sincronizza le ombre del dispositivo locale con AWS IoT Core.

Recuperate e modificate gli stati delle ombre

Le operazioni IPC shadow recuperano e aggiornano le informazioni sullo stato nei documenti shadow locali. Il componente shadow manager gestisce l'archiviazione di questi documenti shadow sul dispositivo principale.

Per modificare gli stati shadow locali
  1. Aggiungi politiche di autorizzazione alla ricetta del tuo componente personalizzato per consentire al componente di ricevere messaggi su argomenti shadow locali.

    Ad esempio, le politiche di autorizzazione, vedi Esempi di politiche di autorizzazione IPC Shadow Local.

  2. Utilizzate le operazioni shadow IPC per recuperare e modificare le informazioni sullo stato dello shadow. Per ulteriori informazioni sull'utilizzo delle operazioni IPC shadow nel codice dei componenti, vedere. Interagisci con le ombre locali

Nota

Per consentire a un dispositivo principale di interagire con le ombre dei dispositivi client, è inoltre necessario configurare e distribuire il componente bridge MQTT. Per ulteriori informazioni, consultate Attivare lo shadow manager per comunicare con i dispositivi client.

Reagisci ai cambiamenti dello stato ombra

I componenti Greengrass utilizzano l'interfaccia di pubblicazione/sottoscrizione locale per comunicare su un dispositivo principale. Per consentire a un componente personalizzato di reagire ai cambiamenti dello stato ombra, puoi iscriverti agli argomenti di pubblicazione/sottoscrizione locali. Ciò consente al componente di ricevere messaggi sugli argomenti shadow locali e quindi di agire su tali messaggi.

Gli argomenti shadow locali utilizzano lo stesso formato degli argomenti MQTT di AWS IoT Device Shadow. Per ulteriori informazioni sugli argomenti shadow, consultate gli argomenti Device Shadow MQTT nella AWS IoTDevice Shadow Guide.

Per reagire ai cambiamenti dello stato ombra locale
  1. Aggiungi le politiche di controllo degli accessi alla ricetta del tuo componente personalizzato per consentire al componente di ricevere messaggi su argomenti shadow locali.

    Ad esempio, le politiche di autorizzazione, vedi Esempi di politiche di autorizzazione IPC Shadow Local.

  2. Per avviare un'azione personalizzata in un componente, utilizzate le operazioni SubscribeToTopic IPC per sottoscrivere gli argomenti shadow su cui desiderate ricevere messaggi. Per ulteriori informazioni sull'utilizzo delle operazioni IPC di pubblicazione/sottoscrizione locali nel codice del componente, vedere. Pubblicare/sottoscrivere messaggi locali

  3. Per richiamare una funzione Lambda, usa la configurazione dell'origine dell'evento per fornire il nome dell'argomento shadow e specifica che si tratta di un argomento di pubblicazione/sottoscrizione locale. Per informazioni sulla creazione di componenti della funzione Lambda, vedere. Esegui AWS Lambda funzioni

Nota

Per consentire a un dispositivo principale di interagire con le ombre dei dispositivi client, è inoltre necessario configurare e distribuire il componente bridge MQTT. Per ulteriori informazioni, consultate Attivare lo shadow manager per comunicare con i dispositivi client.