AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.
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à.
Integrazione con servizi e protocolli tramite i connettori Greengrass
Questa funzionalità è disponibile per AWS IoT Greengrass Core v1.7 e versioni successive.
I connettori AWS IoT Greengrass sono moduli predefiniti che rendono più efficiente l'interazione con l'infrastruttura locale, i protocolli dei dispositivi e altri servizi cloud. AWS Utilizzando i connettori, puoi dedicare meno tempo all'apprendimento di nuovi protocolli APIs e dedicare più tempo alla logica che conta per la tua azienda.
Il diagramma seguente mostra dove i connettori possono inserirsi nel AWS IoT Greengrass panorama.

Molti connettori utilizzano messaggi MQTT per comunicare con i dispositivi client e le funzioni Greengrass Lambda del gruppo AWS IoT o con il servizio shadow locale. Nell'esempio seguente, il connettore Twilio Notifications riceve messaggi MQTT da una funzione Lambda definita dall'utente, utilizza un riferimento locale di un segreto AWS Secrets Manager da e chiama l'API Twilio.

Per i tutorial sulla creazione di questa soluzione, consulta Nozioni di base sui connettori Greengrass (console) e Nozioni di base sui connettori Greengrass (CLI).
I connettori Greengrass possono aiutarti a estendere le funzionalità dei dispositivi o a creare dispositivi monouso. Utilizzando i connettori, è possibile:
-
L'implementazione di una logica di business riutilizzabile.
-
Interagisci con servizi cloud e locali, inclusi AWS servizi di terze parti.
-
L'integrazione e l'elaborazione dei dati del dispositivo.
-
Abilita device-to-device le chiamate utilizzando gli abbonamenti agli argomenti MQTT e le funzioni Lambda definite dall'utente.
AWS fornisce una serie di connettori Greengrass che semplificano le interazioni con servizi e fonti di dati comuni. Questi moduli precostituiti attivano gli scenari di logging e diagnostica, rifornimento, elaborazione dei dati industriali, allarmi e messaggistica. Per ulteriori informazioni, consulta AWS-connettori Greengrass forniti.
Requisiti
Per utilizzare i connettori, tieni presente questi punti:
-
Ogni connettore che utilizzi ha dei requisiti che devi soddisfare. Questi requisiti possono includere la versione minima del software AWS IoT Greengrass Core, i prerequisiti del dispositivo, le autorizzazioni e i limiti richiesti. Per ulteriori informazioni, consulta AWS-connettori Greengrass forniti.
-
Un gruppo Greengrass può contenere solo un'istanza configurata di un determinato connettore. Tuttavia, è possibile utilizzare l'istanza in più abbonamenti. Per ulteriori informazioni, consulta Parametri di configurazione.
-
Quando la containerizzazione predefinita per il gruppo Greengrass è impostata su Nessun container, i connettori del gruppo devono essere eseguiti senza containerizzazione. Per trovare i connettori che supportano la modalità Nessun container consulta AWS-connettori Greengrass forniti.
Utilizzo dei connettori Greengrass
Un connettore è un tipo di componente di gruppo. Come altri componenti del gruppo, come i dispositivi client e le funzioni Lambda definite dall'utente, puoi aggiungere connettori ai gruppi, configurarne le impostazioni e distribuirli nel core. AWS IoT Greengrass I connettori vengono eseguiti nell'ambiente core.
È possibile distribuire alcuni connettori come semplici applicazioni autonome. Ad esempio, il connettore Device Defender legge le metriche di sistema dal dispositivo principale e le invia per l'analisi. AWS IoT Device Defender
È possibile aggiungere altri connettori come elementi costitutivi in soluzioni più grandi. La seguente soluzione di esempio utilizza il connettore Modbus-RTU Protocol Adapter per elaborare i messaggi provenienti dai sensori e il connettore Twilio Notifications per avviare i messaggi Twilio.

Le soluzioni spesso includono funzioni Lambda definite dall'utente che si trovano accanto ai connettori ed elaborano i dati che il connettore invia o riceve. In questo esempio, la TempMonitor funzione riceve dati dall'adattatore di protocollo Modbus-RTU, esegue alcune logiche aziendali e quindi invia i dati a Twilio Notifications.
Di seguito è riportata la procedura generica per creare e distribuire una soluzione:
-
Definire il flusso di dati di alto livello. Identificare le origini dati, i canali dei dati, i servizi, i protocolli e le risorse di cui hai bisogno. In questa soluzione di esempi, sono inclusi dati sul protocollo RTU Modbus, la porta seriale Modbus fisica e Twilio.
-
Individuare i connettori da includere nella soluzione e aggiungerli al gruppo. La soluzione di esempio utilizza l'adattatore di protocollo Modbus-RTU e le notifiche Twilio. Per aiutarti a trovare i connettori adeguati al tuo scenario e per ulteriori informazioni sui singoli requisiti, consulta AWS-connettori Greengrass forniti.
-
Identifica se sono necessarie funzioni Lambda, dispositivi client o risorse definite dall'utente, quindi creali e aggiungili al gruppo. Questo passaggio potrebbe includere funzioni che contengono logica di business o l'elaborazione di dati in un formato richiesto da un'altra entità della soluzione. La soluzione di esempio utilizza funzioni per inviare richieste Modbus RTU e avviare notifiche Twilio. Include anche una risorsa dispositivo locale per la porta seriale RTU Modbus e una risorsa segreta per il token di autenticazione Twilio.
Nota
Le risorse segrete fanno riferimento a password, token e altri segreti di AWS Secrets Manager. I segreti possono essere utilizzati dai connettori e dalle funzioni Lambda per l'autenticazione con servizi e applicazioni. Per impostazione predefinita, AWS IoT Greengrass può accedere ai segreti con nomi che iniziano con "greengrass-». Per ulteriori informazioni, consulta Implementa i segreti fino al nucleo AWS IoT Greengrass.
-
Creazione di sottoscrizioni che consentono alle entità della soluzione di scambiarsi messaggi MQTT. Se un connettore viene utilizzato in una sottoscrizione, il connettore e il messaggio di origine o di destinazione devono utilizzare la sintassi dell'argomento predefinita supportata dal connettore. Per ulteriori informazioni, consulta Input e output.
-
Distribuzione del gruppo nel core Greengrass
Per informazioni sulla creazione e la distribuzione di un connettore, consulta i seguenti tutorial:
Parametri di configurazione
Molti connettori forniscono parametri che consentono di personalizzarne il funzionamento o l'output. Questi parametri vengono utilizzati durante l'inizializzazione, in fase di runtime o in altri momenti del ciclo di vita del connettore.
I tipi di parametri e il relativo utilizzo possono variare in base al connettore. Ad esempio, il connettore SNS ha un parametro che configura l'argomento SNS predefinito e Device Defender ha un parametro che configura la frequenza di campionamento dei dati.
Una versione di gruppo può contenere vari connettori, ma una sola istanza alla volta di un determinato connettore. Questo significa che ciascun connettore nel gruppo può avere solo una configurazione attiva. Tuttavia, l'istanza del connettore può essere utilizzata in più sottoscrizioni nel gruppo. Ad esempio, è possibile creare abbonamenti che consentono a molti dispositivi di inviare dati al connettore Kinesis Firehose.
Parametri utilizzati per l'accesso alle risorse di gruppo
I connettori Greengrass utilizzano le risorse di gruppo per accedere al file system, alle porte, alle periferiche e ad altre risorse locali sul dispositivo core. Se un connettore richiede l'accesso a una risorsa di gruppo, fornirà i relativi parametri di configurazione.
Le risorse di gruppo includono:
-
Risorse locali. Directory, file, porte, pin e periferiche presenti sul dispositivo core Greengrass.
-
Risorse di Machine Learning. Modelli Machine Learning che ricevono formazione nel cloud e vengono distribuiti al core per un'inferenza locale.
-
Risorse segrete. Copie locali crittografate di password, chiavi, token o testo arbitrario da. AWS Secrets Manager I connettori possono accedere in modo sicuro a questi segreti locali e utilizzarli per autenticare i servizi o l'infrastruttura locale.
Ad esempio, i parametri per Device Defender consentono l'accesso alle metriche di sistema nella /proc
directory host e i parametri per le notifiche Twilio consentono l'accesso a un token di autenticazione Twilio memorizzato localmente.
Aggiornamento dei parametri del connettore
I parametri sono configurati quando il connettore viene aggiunto a un gruppo Greengrass. È possibile modificare i valori dei parametri dopo l'aggiunta del connettore.
-
Nella console: dalla pagina di configurazione del gruppo, apri Connettori e dal menu contestuale del connettore scegli Modifica.
Nota
Se il connettore utilizza una risorsa segreta che successivamente verrà modificata per fare riferimento a un altro segreto, è necessario modificare i parametri del connettore e confermare la modifica.
-
Nell'API: crea un'altra versione del connettore che definisca la nuova configurazione.
L' AWS IoT Greengrass API utilizza versioni per gestire i gruppi. Le versioni sono immutabili, quindi per aggiungere o modificare i componenti del gruppo, ad esempio i dispositivi client, le funzioni e le risorse del gruppo, è necessario creare versioni di componenti nuovi o aggiornati. Quindi, si crea e si distribuisce una versione di gruppo che contiene la versione di destinazione di ciascun componente.
Dopo aver modificato la configurazione del connettore, è necessario distribuire il gruppo per propagare le modifiche apportate al core.
Input e output
Molti connettori Greengrass possono comunicare con altre entità inviando e ricevendo messaggi MQTT. La comunicazione MQTT è controllata da abbonamenti che consentono a un connettore di scambiare dati con funzioni Lambda, dispositivi client e altri connettori del gruppo Greengrass o con AWS IoT e il servizio shadow locale. Per consentire questa comunicazione, devi creare sottoscrizioni nel gruppo a cui appartiene il connettore. Per ulteriori informazioni, consulta Sottoscrizioni gestite nel flusso di lavoro di messaggistica MQTT.
I connettori possono essere autori di messaggi, abbonati ai messaggi o entrambi. Ogni connettore definisce gli argomenti MQTT che pubblica o a cui è abbonato. Questi argomenti predefiniti devono essere utilizzati nelle sottoscrizioni in cui il connettore è l'origine o la destinazione di un messaggio. Per i tutorial che includono le fasi di configurazione delle sottoscrizioni a un connettore, consulta Nozioni di base sui connettori Greengrass (console) e Nozioni di base sui connettori Greengrass (CLI).
Nota
Molti connettori dispongono anche di modalità di comunicazione integrate per interagire con il cloud o i servizi locali. Queste variano in base al connettore e potrebbero richiedere la configurazione di parametri o l'aggiunta di autorizzazioni al ruolo del gruppo. Per informazioni sui requisiti del connettore, consultare AWS-connettori Greengrass forniti.
Argomenti di input
La maggior dei connettori ricevono dati su argomenti MQTT. Alcuni connettori effettuano la sottoscrizione a più argomenti per i dati di input. Ad esempio, il connettore Serial Stream supporta due argomenti:
-
serial/+/read/#
-
serial/+/write/#
Per questo connettore, le richieste di lettura e scrittura vengono inviate all'argomento corrispondente. Quando crei gli abbonamenti, assicurati di utilizzare l'argomento in linea con l'implementazione.
I caratteri +
e #
negli esempi precedenti sono caratteri jolly. Questi caratteri jolly consentono agli abbonati di ricevere messaggi su più argomenti e agli autori di personalizzare gli argomenti di destinazione.
-
Il carattere jolly
+
appare ovunque nella gerarchia degli argomenti. Può essere sostituito da una voce della gerarchia.Ad esempio, per l'argomento
sensor/+/input
, i messaggi possono essere pubblicati negli argomentisensor/id-123/input
, ma non insensor/group-a/id-123/input
.
-
Il carattere jolly
#
può comparire solo alla fine della gerarchia dell'argomento. Può essere sostituito da zero o più elementi della gerarchia.Ad esempio, per l'argomento
sensor/#
, i messaggi possono essere pubblicati insensor/
,sensor/id-123
esensor/group-a/id-123
, ma non insensor
.
I caratteri jolly sono validi solo per l'abbonamento agli argomenti. Non è possibile pubblicare messaggi in argomenti contenenti caratteri jolly. Consulta la documentazione del connettore per ulteriori informazioni sui requisiti degli argomenti di input o output. Per ulteriori informazioni, consulta AWS-connettori Greengrass forniti.
Supporto per la containerizzazione
Per impostazione predefinita, la maggior parte dei connettori viene eseguita sul core di Greengrass in un ambiente di runtime isolato gestito da AWS IoT Greengrass. Questi ambienti di runtime, denominati container, forniscono l'isolamento tra i connettori e il sistema host, offrendo maggiore sicurezza per l'host e il connettore.
Tuttavia, questa containerizzazione Greengrass non è supportata in alcuni ambienti, ad esempio quando si esegue AWS IoT Greengrass in un contenitore Docker o su vecchi kernel Linux senza cgroup. In questi ambienti, i connettori devono essere eseguiti in modalità No container (Nessun container) . Per trovare i connettori che supportano la modalità Nessun container consulta AWS-connettori Greengrass forniti. Alcuni connettori vengono eseguiti in questa modalità in modo nativo e alcuni connettori consentono di impostare la modalità di isolamento.
Puoi inoltre impostare la modalità di isolamento su No container (Nessun container) in ambienti che supportano la containerizzazione di Greengrass, ma consigliamo di utilizzare la modalità Greengrass container (Container Greengrass) quando possibile.
Nota
L'impostazione predefinita della containerizzazione per il gruppo Greengrass non si applica ai connettori.
Aggiornamento delle versioni dei connettori
I provider di connettori potrebbero rilasciare nuove versioni di un connettore che aggiungono funzionalità, risolvono problemi o migliorano le prestazioni. Per informazioni sulle versioni disponibili e sulle modifiche correlate, consulta la documentazione relativa a ciascun connettore.
Nella AWS IoT console, puoi verificare la presenza di nuove versioni per i connettori del tuo gruppo Greengrass.
Nel riquadro di navigazione della AWS IoT console, in Gestione, espandi i dispositivi Greengrass, quindi scegli Gruppi (V1).
-
In Gruppi Greengrass, scegli il tuo gruppo.
-
Scegli Connectors (Connettori) per visualizzare i connettori nel gruppo.
Se il connettore ha una nuova versione, viene visualizzato un pulsante Disponibile nella colonna Aggiorna.
-
Per aggiornare la versione del connettore:
-
Nella pagina Connettori, nella colonna Aggiornamento, scegli Disponibile. Viene visualizzata la pagina Upgrade connector (Aggiorna connettore) in cui vengono visualizzate le impostazioni dei parametri correnti, se applicabili.
Scegli la nuova versione del connettore, definisci i parametri in base alle esigenze, quindi scegli Upgrade (Aggiorna).
-
Nella pagina Subscriptions (Sottoscrizioni) aggiungi nuove sottoscrizioni nel gruppo per sostituire quelle che utilizzano il connettore come origine o destinazione. Quindi, rimuovi le vecchie sottoscrizioni.
Le sottoscrizioni fanno riferimento ai connettori in base alla versione, in modo che diventino non validi se si modifica la versione del connettore nel gruppo.
-
Dal menu Azioni, scegli Distribuisci per distribuire le modifiche al core.
-
Per aggiornare un connettore dall' AWS IoT Greengrass API, crea e distribuisci una versione di gruppo che includa il connettore e gli abbonamenti aggiornati. Utilizza lo stesso processo seguito per aggiungere un connettore a un gruppo. Per i passaggi dettagliati che mostrano come utilizzare il connettore di notifica Twilio di esempio AWS CLI per configurare e distribuire un esempio di connettore di notifica Twilio, consulta. Nozioni di base sui connettori Greengrass (CLI)
Registrazione per connettori
I connettori Greengrass contengono funzioni Lambda che scrivono eventi ed errori nei log Greengrass. A seconda delle impostazioni del gruppo, i log vengono scritti in CloudWatch Logs, nel file system locale o in entrambi. I log dei connettori includono gli ARN della funzione corrispondente. L'esempio ARN seguente proviene dal connettore Kinesis Firehose:
arn:aws:lambda:aws-region
:account-id
:function:KinesisFirehoseClient:1
La configurazione di logging predefinita scrive log a livello di informazioni nel file system con la seguente struttura di directory:
greengrass-root
/ggc/var/log/user/region
/aws/function-name
.log
Per ulteriori informazioni sulla registrazione di Greengrass, vedere. Monitoraggio con AWS IoT Greengrass registri