Avviso di fine del supporto: il 7 ottobre 2026, AWS 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à.
Accedi alle risorse locali con funzioni e connettori Lambda
Questa funzionalità è disponibile per AWS IoT Greengrass Core v1.3 e versioni successive.
Con AWS IoT Greengrass, puoi creare AWS Lambda funzioni e configurare connettori nel cloud e distribuirli sui dispositivi principali per l'esecuzione locale. Sui core Greengrass che eseguono Linux, queste funzioni e connettori Lambda distribuiti localmente possono accedere alle risorse locali fisicamente presenti sul dispositivo principale Greengrass. Ad esempio, per comunicare con dispositivi collegati tramite Modbus oppure CANbus, è possibile abilitare la funzione Lambda per accedere alla porta seriale del dispositivo principale. Per configurare l'accesso sicuro alle risorse locali, è necessario garantire la sicurezza dell'hardware fisico e del sistema operativo del dispositivo core Greengrass.
Per iniziare l'accesso alle risorse locali, consulta i seguenti tutorial:
Tipi di risorse supportati
È possibile accedere a due tipi di risorse locali: risorse di volume e risorse di dispositivo.
- Risorse volume
-
I file o le directory per il file system radice (fatta eccezione in
/sys,/devo/var). Ciò include:-
Cartelle o file utilizzati per leggere o scrivere informazioni tra le funzioni di Greengrass Lambda (ad esempio,).
/usr/lib/python2.x/site-packages/local -
Cartelle o file sotto il file system /proc dell'host (ad esempio,
/proc/neto/proc/stat). Supportato nella versione 1.6 o successiva. Per i requisiti aggiuntivi, consultare Risorse di volume nella directory /proc.
Suggerimento
Per configurare le directory
/var,/var/rune/var/libcome risorse di volume, monta prima la directory in una cartella diversa e poi configura la cartella come risorsa di volume.Quando configuri le risorse di volume, specifichi un percorso origine e un percorso di destinazione. Il percorso di origine è il percorso assoluto della risorsa nell'host. Il percorso di destinazione è il percorso assoluto della risorsa all'interno dell'ambiente dello spazio dei nomi Lambda. Questo è il contenitore in cui viene eseguita una funzione o un connettore Greengrass Lambda. Le eventuali modifiche apportate al percorso di destinazione vengono applicate al percorso di origine nel file system host.
Nota
I file nel percorso di destinazione sono visibili solo nello spazio dei nomi Lambda. Non è possibile visualizzarli in un normale spazio dei nomi Linux.
-
- Risorse di dispositivo
-
I file in
/dev. Solo i dispositivi a caratteri o a blocchi in/devsono consentiti per le risorse del dispositivo. Ciò include:-
Porte seriali utilizzate per comunicare con i dispositivi connessi tramite le porte seriali (ad esempio
/dev/ttyS0,/dev/ttyS1). -
USB utilizzato per connettere periferiche USB (ad esempio,
/dev/ttyUSB0o/dev/bus/usb). -
GPIOs utilizzato per sensori e attuatori tramite GPIO (ad esempio,).
/dev/gpiomem -
GPUs utilizzato per accelerare l'apprendimento automatico utilizzando sistemi di bordo GPUs (ad esempio,).
/dev/nvidia0 -
Fotocamere utilizzate per acquisire immagini e video (ad esempio,
/dev/video0).
Nota
/dev/shmè un'eccezione. Può essere configurato esclusivamente come risorsa di volume. Alle risorse in/dev/shmdeve essere concessa l'autorizzazionerw. -
AWS IoT Greengrass supporta anche i tipi di risorse utilizzati per eseguire l'inferenza dell'apprendimento automatico. Per ulteriori informazioni, consulta Esecuzione dell'inferenza di Machine Learning.
Requisiti
I seguenti requisiti si applicano alla configurazione dell'accesso sicuro alle risorse locali:
-
È necessario utilizzare AWS IoT Greengrass Core Software v1.3 o versione successiva. Per creare risorse per la directory /proc dell'host, è necessario utilizzare la versione 1.6 o successiva.
-
La risorsa locale (inclusi i driver e le librerie necessarie) deve essere installata correttamente sul dispositivo core di Greengrass ed essere disponibile in modo coerente durante l'uso.
-
L'operazione desiderata della risorsa e l'accesso alla risorsa non devono richiedere privilegi root.
-
Sono disponibili solo le autorizzazioni
readoread and write. Le funzioni Lambda non sono in grado di eseguire operazioni privilegiate sulle risorse. -
È necessario fornire il percorso completo della risorsa locale sul sistema operativo del dispositivo core di Greengrass.
-
Un nome o ID di risorsa deve avere un massimo di 128 caratteri e deve utilizzare il modello
[a-zA-Z0-9:_-]+.
Risorse di volume nella directory /proc
Le seguenti considerazioni si applicano alle risorse di volume che si trovano nella directory /proc dell'host.
È necessario utilizzare AWS IoT Greengrass Core Software v1.6 o versione successiva.
È possibile consentire l'accesso in sola lettura per le funzioni Lambda, ma non l'accesso in lettura/scrittura. Questo livello di accesso è gestito da. AWS IoT Greengrass
Potrebbe anche essere necessario concedere autorizzazioni di gruppo del sistema operativo per abilitare l'accesso in lettura nel file system. Ad esempio, supponiamo che la directory o il file sorgente abbiano un'autorizzazione per i file 660, indicando che solo il proprietario o un utente del gruppo hanno accesso in lettura (e scrittura). In questo caso, è necessario aggiungere le autorizzazioni del proprietario del gruppo di sistema operativo alla risorsa. Per ulteriori informazioni, consulta Autorizzazione di accesso ai file dell'owner del gruppo.
L'ambiente host e lo spazio dei nomi Lambda contengono entrambi a /proc directory, so be sure to avoid naming conflicts when you specify the destination path. For example, if /proc is the source path, you can specify /host -proc come percorso di destinazione (o qualsiasi nome di percorso diverso da "/proc «).
Autorizzazione di accesso ai file dell'owner del gruppo
Un processo funzionale AWS IoT Greengrass Lambda normalmente viene eseguito come eggc_user. ggc_group Tuttavia, puoi concedere autorizzazioni di accesso ai file aggiuntive al processo della funzione Lambda nella definizione della risorsa locale, come segue:
-
Per aggiungere le autorizzazioni del gruppo Linux proprietario della risorsa, utilizzate il
GroupOwnerSetting#AutoAddGroupOwnerparametro o l'opzione Aggiungi automaticamente le autorizzazioni del file system del gruppo di sistema proprietario dell'opzione Resource Console. -
Per aggiungere le autorizzazioni di un altro gruppo Linux, usa il
GroupOwnerSetting#GroupOwnerparametro o l'opzione Specificare un altro gruppo di sistema per aggiungere le autorizzazioni del file system. Il valoreGroupOwnerviene ignorato seGroupOwnerSetting#AutoAddGroupOwnerè "true".
Un processo funzionale AWS IoT Greengrass Lambda eredita tutte le autorizzazioni del file system di e del ggc_user gruppo Linux (se aggiunto). ggc_group Affinché la funzione Lambda possa accedere a una risorsa, il processo della funzione Lambda deve disporre delle autorizzazioni richieste per la risorsa. È possibile utilizzare il comando chmod(1) per modificare l'autorizzazione della risorsa, se necessario.
Consulta anche
-
Quote di servizio per le risorse in Riferimenti generali di Amazon Web Services