Avviso di fine del supporto: il 7 ottobre 2026, AWS interromperà il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita Migrate from. AWS IoT Greengrass Version 1
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à.
Implementazione AWS IoT Greengrass raggruppa un AWS IoT Greengrass core
Usa AWS IoT Greengrass i gruppi per organizzare le entità nel tuo ambiente edge. I gruppi vengono utilizzati anche per controllare il modo in cui le entità del gruppo interagiscono tra loro e con Cloud AWS. Ad esempio, solo le funzioni Lambda del gruppo vengono distribuite per l'esecuzione locale e solo i dispositivi del gruppo possono comunicare utilizzando il server MQTT locale.
Un gruppo deve includere un core, ovvero un AWS IoT dispositivo che esegue il software Core. AWS IoT Greengrass Il core funge da gateway perimetrale e fornisce AWS IoT Core funzionalità nell'ambiente edge. A seconda delle esigenze aziendali, puoi anche aggiungere le seguenti entità a un gruppo:
-
Dispositivi client. Rappresentati come oggetti nel registro AWS IoT . Questi dispositivi devono eseguire FreeRTOS o utilizzare AWS IoT Device SDK o AWS IoT Greengrass Discovery API per ottenere informazioni di connessione per il core. Solo i dispositivi client membri del gruppo possono connettersi al core.
Funzioni Lambda. User-defined applicazioni serverless che eseguono codice sul core. Le funzioni Lambda sono create AWS Lambda e referenziate da un gruppo Greengrass. Per ulteriori informazioni, consulta Esegui le funzioni Lambda su AWS IoT Greengrass core.
Connettori. Applicazioni serverless predefinite che eseguono codice sul core. I connettori possono fornire un'integrazione integrata con l'infrastruttura locale, i protocolli dei dispositivi e altri servizi cloud. AWS Per ulteriori informazioni, consulta Integrazione con servizi e protocolli tramite i connettori Greengrass.
Abbonamenti. Definiscono gli autori, i sottoscrittori e gli argomenti MQTT (o gli argomenti) autorizzati per la comunicazione MQTT.
Risorse. Riferimenti a dispositivi e volumi locali, modelli di apprendimento automatico e segreti , utilizzati per il controllo degli accessi tramite funzioni e connettori Greengrass Lambda.
Registri. Configurazioni di registrazione per i componenti AWS IoT Greengrass del sistema e le funzioni Lambda. Per ulteriori informazioni, consulta Monitoraggio con AWS IoT Greengrass log.
Gestisci il tuo gruppo Greengrass in Cloud AWS e poi lo distribuisci in un core. La distribuzione copia la configurazione del gruppo nel file group.json sul dispositivo core. Questo file si trova in .greengrass-root/ggc/deployments/group
Nota
Durante una distribuzione, il processo daemon Greengrass sul dispositivo core si arresta e quindi si riavvia.
Distribuzione di gruppi da AWS IoT console
È possibile distribuire un gruppo e gestirne le distribuzioni dalla pagina di configurazione del gruppo nella console. AWS IoT
Nota
Per aprire questa pagina nella console, scegli Dispositivi Greengrass, quindi Gruppi (V1) e poi in Gruppi Greengrass, scegli il tuo gruppo.
- Per distribuire la versione corrente del gruppo
-
-
Dalla pagina di configurazione del gruppo, scegli Deploy.
-
- Per visualizzare la cronologia della distribuzione del gruppo
-
La cronologia della distribuzione di un gruppo include la data e l'ora, la versione del gruppo e lo stato di ogni tentativo di distribuzione.
-
Dalla pagina di configurazione del gruppo, scegli la scheda Distribuzioni.
-
Per visualizzare ulteriori informazioni su una distribuzione, inclusi i messaggi di errore, scegli Distribuzioni dalla AWS IoT console, in Dispositivi Greengrass.
-
- Per ripetere la distribuzione di un gruppo
-
Potresti voler ripetere una distribuzione se la distribuzione corrente ha esito negativo o ripristinare una versione di gruppo diversa.
-
Dalla AWS IoT console, scegli i dispositivi Greengrass, quindi scegli Gruppi (V1).
-
Seleziona la scheda Distribuzioni.
-
Scegli la distribuzione che desideri ridistribuire e scegli Ridistribuisci.
-
- Per reimpostare le distribuzioni di gruppo
-
È possibile reimpostare le distribuzioni di gruppo per spostare o eliminare un gruppo o rimuovere le informazioni sulla distribuzione. Per ulteriori informazioni, consulta Reimpostazione delle distribuzioni.
-
Dalla AWS IoT console, scegli i dispositivi Greengrass, quindi scegli Gruppi (V1).
-
Seleziona la scheda Distribuzioni.
-
Scegli la distribuzione che desideri ripristinare e scegli Ripristina distribuzioni.
-
Distribuzione di gruppi con AWS IoT Greengrass "Hello, World!"
L' AWS IoT Greengrass API fornisce le seguenti azioni per distribuire AWS IoT Greengrass gruppi e gestire le distribuzioni di gruppo. Puoi chiamare queste azioni da AWS CLI, AWS IoT Greengrass API o AWS SDK.
| Azione | Description |
|---|---|
|
Creare una distribuzione Potresti voler ridistribuire una distribuzione se la distribuzione corrente ha esito negativo. In alternativa, potresti voler ridistribuire per ripristinare una versione di gruppo diversa. |
|
|
Restituisce lo stato di una distribuzione: Puoi configurare Amazon EventBridge Events per ricevere notifiche di distribuzione. Per ulteriori informazioni, consulta Ottenere le notifiche di distribuzione. |
|
Restituisce la cronologia della distribuzione per il gruppo. |
|
|
Reimposta le distribuzioni per il gruppo. È possibile reimpostare le distribuzioni di gruppo per spostare o eliminare un gruppo o rimuovere le informazioni sulla distribuzione. Per ulteriori informazioni, consulta Reimpostazione delle distribuzioni. |
Nota
Per informazioni sulle operazioni di distribuzione in blocco, consulta Creazione di distribuzioni in blocco per i gruppi.
Ottenere l'ID del gruppo
L'ID del gruppo viene comunemente utilizzato nelle operazioni API. Puoi utilizzare l'ListGroupsazione per trovare l'ID del gruppo target dall'elenco dei gruppi. Ad esempio, in AWS CLI, usa il list-groups comando.
aws greengrass list-groups
È inoltre possibile includere l'opzione query per filtrare i risultati. Ad esempio:
Per ottenere il gruppo creato più di recente:
aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"-
Per ottenere un gruppo in base al nome:
aws greengrass list-groups --query "Groups[?Name=='MyGroup']"I nomi dei gruppi non devono essere univoci, pertanto potrebbero essere restituiti più gruppi.
Di seguito è riportata una risposta list-groups di esempio: Le informazioni relative a ciascun gruppo includono l'ID del gruppo (nella proprietà Id) e l'ID della versione più recente del gruppo (nella proprietà LatestVersion). Per ottenere altri ID di versione per un gruppo, usa l'ID del gruppo con ListGroupVersions.
Nota
Puoi trovare questi valori anche nella AWS IoT console. L'ID gruppo viene visualizzato nella pagina Settings (Impostazioni) del gruppo. Gli ID delle versioni del gruppo vengono visualizzati nella scheda Distribuzioni del gruppo.
{ "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }
Se non ne specifichi uno Regione AWS, AWS CLI i comandi utilizzano la regione predefinita del tuo profilo. Per restituire gruppi in una regione diversa, includi l'regionopzione. Ad esempio:
aws greengrass list-groups --region us-east-1
Panoramica del AWS IoT Greengrass modello a oggetti di gruppo
Quando si programma con l' AWS IoT Greengrass API, è utile comprendere il modello a oggetti di gruppo di Greengrass.
Gruppi
Nell' AWS IoT Greengrass API, l'Groupoggetto di primo livello è costituito da metadati e un elenco di oggetti. GroupVersion GroupVersiongli oggetti sono associati a un Group ID by.
Versioni del gruppo
Gli oggetti GroupVersion definiscono l'appartenenza al gruppo. Ogni GroupVersion fa riferimento a una CoreDefinitionVersion e ad altre versioni dei componenti per ARN. Questi riferimenti determinano quali entità includere nel gruppo.
Ad esempio, per includere tre funzioni Lambda, un dispositivo e due abbonamenti nel gruppo, i GroupVersion riferimenti:
Il
CoreDefinitionVersionche contiene il core richiesto.Il
FunctionDefinitionVersionche contiene le tre funzioni.Quello
DeviceDefinitionVersionche contiene il dispositivo client.Il
SubscriptionDefinitionVersionche contiene le due sottoscrizioni.
Il GroupVersion distribuito su un dispositivo core determina le entità disponibili nell'ambiente locale e il modo in cui possono interagire.
Componenti del gruppo
I componenti aggiunti ai gruppi hanno una gerarchia di tre livelli:
Una definizione che fa riferimento a un elenco di DefinitionVersion oggetti di un determinato tipo. Ad esempio, un
DeviceDefinitionfa riferimento a un elenco di oggettiDeviceDefinitionVersion.Una DefinitionVersion che contiene un insieme di entità di un determinato tipo. Ad esempio, un
DeviceDefinitionVersioncontiene un elenco di oggettiDevice.Singole entità che definiscono le proprietà e il comportamento. Ad esempio, a
Devicedefinisce l'ARN del dispositivo client corrispondente nel AWS IoT registro, l'ARN del relativo certificato del dispositivo e se lo shadow locale si sincronizza automaticamente con il cloud.Puoi aggiungere i seguenti tipi di entità a un gruppo:
L'esempio seguente DeviceDefinition fa riferimento a tre oggetti DeviceDefinitionVersion che contengono ciascuno più oggetti Device. In un gruppo viene utilizzato solo un oggetto DeviceDefinitionVersion alla volta.
Aggiornamento dei gruppi
Nell' AWS IoT Greengrass API, si utilizzano le versioni per aggiornare la configurazione di un gruppo. Le versioni sono immutabili, quindi per aggiungere, rimuovere o modificare i componenti del gruppo, è necessario creare DefinitionVersion oggetti che contengano entità nuove o aggiornate.
È possibile associare nuovi DefinitionVersions oggetti a oggetti Definition nuovi o esistenti. Ad esempio, puoi utilizzare l'operazione CreateFunctionDefinition per creare un FunctionDefinition che include FunctionDefinitionVersion come versione iniziale oppure puoi utilizzare l'operazione CreateFunctionDefinitionVersion e fare riferimento a un FunctionDefinition esistente.
Dopo aver creato i componenti del gruppo, ne create uno GroupVersion contenente tutti DefinitionVersion gli oggetti che desiderate includere nel gruppo. Puoi quindi distribuire GroupVersion.
Per distribuire un GroupVersion, deve fare riferimento a un CoreDefinitionVersion che contiene esattamente uno Core. Tutte le entità a cui si fa riferimento devono essere membri del gruppo. Inoltre, un ruolo del servizio Greengrass deve essere associato al tuo Account AWS nel Regione AWS luogo in cui stai implementando il. GroupVersion
Nota
Le operazioni Update nell'API vengono utilizzate per modificare il nome di un Group o di un oggetto Definition del componente.
Aggiornamento delle entità che fanno riferimento alle risorse AWS
Le funzioni e le risorse segrete di Greengrass Lambda definiscono le Greengrass-specific proprietà e fanno riferimento anche alle risorse corrispondenti AWS . Per aggiornare queste entità, è possibile apportare modifiche alla AWS risorsa corrispondente anziché agli oggetti Greengrass. Ad esempio, le funzioni Lambda fanno riferimento a una funzione in AWS Lambda e definiscono anche il ciclo di vita e altre proprietà specifiche del gruppo Greengrass.
Per aggiornare il codice della funzione Lambda o le dipendenze in pacchetti, apporta le modifiche in. AWS Lambda Durante la successiva distribuzione di gruppo, queste modifiche vengono recuperate AWS Lambda e copiate nell'ambiente locale.
Per aggiornare Greengrass-specific le proprietà, ne crei una
FunctionDefinitionVersionche contenga le proprietà aggiornate.Function
Nota
Le funzioni Lambda di Greengrass possono fare riferimento a una funzione Lambda tramite alias ARN o versione ARN. Se si fa riferimento all'ARN alias (consigliato), non è necessario aggiornare FunctionDefinitionVersion (o SubscriptionDefinitionVersion) quando si pubblica una nuova versione della funzione in AWS Lambda. Per ulteriori informazioni, consulta Fai riferimento alle funzioni Lambda per alias o versione.
Consulta anche
-
AWS IoT Greengrass Version 1 Documentazione di riferimento delle API
-
AWS IoT Greengrasscomandi nel AWS CLI Command Reference