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à.
Creare e includere in un pacchetto una funzione Lambda
La funzione Python Lambda di esempio in questo esempio in questo modulo utilizza ilAWS IoT GreengrassCore SDKper Python pubblicare messaggi MQTT.
In questa fase, si:
-
Download diAWS IoT GreengrassCore SDK per Python sul computer (non ilAWS IoT Greengrassdispositivo principale).
-
Creare un pacchetto di distribuzione della funzione Lambda che contiene il codice della funzione e le dipendenze.
-
Utilizza la console Lambda per creare una funzione Lambda e caricare il pacchetto di distribuzione.
-
Pubblicare una versione della funzione Lambda e creare un alias che punta alla versione.
Per completare questo modulo, Python 3.7 deve essere installato sul dispositivo principale.
-
DaAWS IoT GreengrassCore SDKpagina di download, scarica ilAWS IoT GreengrassCore SDK per Python sul tuo computer.
-
Decomprimere il codice della funzione Lambda e l'SDK.
La funzione Lambda in questo esempio utilizza:
-
Il file
greengrassHelloWorld.py
inexamples\HelloWorld
. Questo è il codice della funzione Lambda. Ogni cinque secondi la funzione pubblica uno tra due possibili messaggi all'argomentohello/world
. -
La cartella
greengrasssdk
. Questo è l'SDK.
-
-
Copiare la cartella
greengrasssdk
nella cartellaHelloWorld
contenentegreengrassHelloWorld.py
. -
Per creare il pacchetto di distribuzione della funzione Lambda, salvare
greengrassHelloWorld.py
e lagreengrasssdk
cartella in un file compressozip
file denominatohello_world_python_lambda.zip
. Il filepy
e la cartellagreengrasssdk
devono trovarsi nella radice della directory.Sui sistemi di tipo UNIX (tra cui il terminale Mac), puoi utilizzare il seguente comando per creare il pacchetto del file e della cartella:
zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
Nota
In base alla distribuzione, potrebbe essere necessario installare prima
zip
(ad esempio, eseguendosudo apt-get install zip
). Il comando di installazione per la distribuzione potrebbe essere diverso.A questo punto, puoi creare la funzione Lambda e caricare il pacchetto di distribuzione.
-
Apri la console Lambda e scegliCrea funzione.
-
Scegliere Author from scratch (Crea da zero).
-
Dai alla funzione il nome
Greengrass_HelloWorld
e imposta i campi rimanenti come segue:-
In Runtime, scegliere Python 3.7.
-
PerAutorizzazioni, mantieni l'impostazione predefinita. Questo crea un ruolo di esecuzione che concede le autorizzazioni Lambda di base. Questo ruolo non viene utilizzato daAWS IoT Greengrass.
Scegli Create function (Crea funzione).
-
-
Carica il pacchetto di distribuzione della funzione Lambda:
-
SulCodescheda, sottoCodice sorgente, scegliCarica da. Dal menu a discesa, sceglifile .zip.
-
ScegliereCaricamentoquindi scegli il
hello_world_python_lambda.zip
pacchetto di distribuzione. Quindi, scegliere Save (Salva). -
SulCodetab per la funzione, sottoImpostazioni Runtime, scegliModificarequindi immettere i seguenti valori.
-
In Runtime, scegliere Python 3.7.
-
In Handler (Gestore), immetti
greengrassHelloWorld.function_handler
-
-
Seleziona Save (Salva.
Nota
LaTestpulsante sul pulsanteAWS Lambdala console non funziona con questa funzione. LaAWS IoT GreengrassCore SDK non contiene moduli necessari per eseguire le funzioni Lambda di Greengrass in modo indipendente nelAWS LambdaConsole. Questi moduli (ad esempio,
greengrass_common
) vengono forniti alle funzioni dopo che sono state implementate nel core Greengrass.
-
-
Pubblicare la funzione Lambda:
-
DaOperazionimenu nella parte superiore della pagina, sceglierePubblica nuova versione.
-
Per Version description (Descrizione versione), immettere
First version
, quindi scegliere Publish (Pubblica).
-
-
Creazione di unaliasper la funzione Lambdaversione:
Nota
I gruppi Greengrass possono fare riferimento a una funzione Lambda tramite alias (consigliato) o per versione. L'utilizzo di un alias semplifica la gestione degli aggiornamenti del codice perché non è necessario modificare la tabella di sottoscrizione o la definizione del gruppo quando il codice funzione viene aggiornato. Invece, è sufficiente puntare l'alias alla nuova versione della funzione.
-
DaOperazionimenu nella parte superiore della pagina, scegliereCreare alias.
-
Denomina l'alias
GG_HelloWorld
, imposta la versione su1
(corrispondente alla versione appena pubblicata), quindi scegliSave (Salva).Nota
AWS IoT Greengrassnon supporta gli alias Lambda per$LATESTVersioni.
-