

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](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html) 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à.

# Come configurare l'accesso alle risorse locali utilizzando il Console di gestione AWS
<a name="lra-console"></a>

Questa funzionalità è disponibile per AWS IoT Greengrass Core v1.3 e versioni successive.

È possibile configurare le funzioni Lambda per accedere in modo sicuro alle risorse locali sul dispositivo principale Greengrass host. Per *risorse locali* si intendono bus e periferiche che sono fisicamente presenti nell'host o volumi di file system nel sistema operativo dell'host. Per ulteriori informazioni, inclusi i requisiti e i vincoli, consulta [Accedi alle risorse locali con funzioni e connettori Lambda](access-local-resources.md).

Questo tutorial descrive come utilizzare per configurare l' Console di gestione AWS accesso alle risorse locali presenti su un AWS IoT Greengrass dispositivo principale. Include le seguenti fasi di alto livello:

1. [Creare un pacchetto di distribuzione della funzione Lambda](#lra-console-create-package)

1. [Creare e pubblicare una funzione Lambda](#lra-console-create-function)

1. [Aggiungere la funzione Lambda al gruppo](#lra-console-add-function)

1. [Aggiungere una risorsa locale al gruppo](#lra-console-create-resource)

1. [Aggiunta di sottoscrizioni al gruppo](#lra-console-add-subscription)

1. [Distribuzione del gruppo.](#lra-console-deploy-group)

Per un tutorial che utilizza il AWS Command Line Interface, vedi[Come configurare l'accesso alle risorse locali utilizzando l'interfaccia AWS a riga di comando](lra-cli.md).

## Prerequisiti
<a name="lra-console-prerequisites"></a>

Per completare questo tutorial, è necessario quanto segue:
+ Un gruppo Greengrass e un core Greengrass (v1.3 o successivo). Per creare un gruppo o un core Greengrass, consulta [Iniziare con AWS IoT Greengrass](gg-gs.md).
+ Le seguenti directory sul dispositivo core Greengrass:
  + /src/ LRAtest
  + /dest/ LRAtest

  Il gruppo proprietario di queste directory deve disporre dell'accesso in lettura e scrittura alle directory. Per concedere l'accesso potresti utilizzare il seguente comando:

  ```
  sudo chmod 0775 /src/LRAtest
  ```

## Fase 1: Creare un pacchetto di distribuzione della funzione Lambda
<a name="lra-console-create-package"></a>

In questo passaggio, crei un pacchetto di distribuzione della funzione Lambda, che è un file ZIP che contiene il codice e le dipendenze della funzione. Inoltre, scarichi il AWS IoT Greengrass Core SDK da includere nel pacchetto come dipendenza.

1. Sul computer, copia il seguente script Python in un file locale denominato `lraTest.py`. Questa è la logica dell'app per la funzione Lambda.

   ```
   # Demonstrates a simple use case of local resource access.
   # This Lambda function writes a file test to a volume mounted inside
   # the Lambda environment under destLRAtest. Then it reads the file and 
   # publishes the content to the AWS IoT LRAtest topic. 
   
   import sys
   import greengrasssdk
   import platform
   import os
   import logging
   
   # Setup logging to stdout
   logger = logging.getLogger(__name__)
   logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
   
   # Create a Greengrass Core SDK client.
   client = greengrasssdk.client('iot-data')
   volumePath = '/dest/LRAtest'
   
   def function_handler(event, context):
       try:
           client.publish(topic='LRA/test', payload='Sent from AWS IoT Greengrass Core.')
           volumeInfo = os.stat(volumePath)
           client.publish(topic='LRA/test', payload=str(volumeInfo))
           with open(volumePath + '/test', 'a') as output:
               output.write('Successfully write to a file.')
           with open(volumePath + '/test', 'r') as myfile:
               data = myfile.read()
           client.publish(topic='LRA/test', payload=data)
       except Exception as e:
           logger.error('Failed to publish message: ' + repr(e))
       return
   ```

1. <a name="download-ggc-sdk"></a> Dalla pagina dei download di [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download), scarica AWS IoT Greengrass Core SDK per Python sul tuo computer.

1. <a name="unzip-ggc-sdk"></a>Decomprimere il pacchetto scaricato per ottenere l'SDK. Il kit SDK è la cartella `greengrasssdk`.

1. Comprimi i seguenti elementi in un file denominato `lraTestLambda.zip`:
   + `lraTest.py`. Logica delle app.
   + `greengrasssdk`. Libreria richiesta per tutte le funzioni Python Lambda.

   Il `lraTestLambda.zip` file è il pacchetto di distribuzione della funzione Lambda. Ora sei pronto per creare una funzione Lambda e caricare il pacchetto di distribuzione.

## Fase 2: Creare e pubblicare una funzione Lambda
<a name="lra-console-create-function"></a>

In questo passaggio, si utilizza la AWS Lambda console per creare una funzione Lambda e configurarla per utilizzare il pacchetto di distribuzione. In seguito, pubblicherai una versione della funzione e creerai un alias.

Innanzitutto, crea la funzione Lambda.

1. In Console di gestione AWS, scegli **Servizi** e apri la AWS Lambda console.

1. Scegli **Funzioni**.

1. <a name="lambda-console-create-function"></a>Scegli **Crea funzione** e poi scegli **Autore da zero**.

1. Nella sezione **Basic information (Informazioni di base)**, specifica i seguenti valori:

   1. Nel campo **Function name (Nome funzione)**, immettere **TestLRA**.

   1. In **Runtime**, scegliere **Python 3.7**.

   1. Per **le autorizzazioni**, mantieni l'impostazione predefinita. Questo crea un ruolo di esecuzione che concede le autorizzazioni Lambda di base. Questo ruolo non viene utilizzato da. AWS IoT Greengrass

1. Scegli **Crea funzione**.  
![\[La pagina Create function (Crea funzione) con il pulsante Create function (Crea funzione) evidenziato.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/lra-console/create-function.png)

    

1. Carica il pacchetto di distribuzione della funzione Lambda e registra il gestore.

   1. <a name="lambda-console-upload"></a>Nella scheda **Codice**, in **Codice sorgente**, scegli **Carica** da. Dal menu a discesa, scegli un **file.zip.**  
![\[Il menu a discesa Carica da con il file.zip evidenziato.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Scegli **Carica**, quindi scegli il pacchetto di `lraTestLambda.zip` distribuzione. Poi, scegli **Salva**.

   1. <a name="lambda-console-runtime-settings-para"></a>Nella scheda **Codice** della funzione, in **Impostazioni di runtime**, scegliete **Modifica**, quindi immettete i seguenti valori.
      + In **Runtime**, scegliere **Python 3.7**.
      + Per **Handler**, immettere **lraTest.function\$1handler**.

   1. <a name="lambda-console-save-config"></a>Scegli **Save** (Salva).
**Nota**  
Il pulsante **Test** sulla AWS Lambda console non funziona con questa funzione. Il AWS IoT Greengrass Core SDK non contiene moduli necessari per eseguire le funzioni Greengrass Lambda in modo indipendente nella console. AWS Lambda Questi moduli (ad esempio,`greengrass_common`) vengono forniti alle funzioni dopo essere stati distribuiti nel core Greengrass.

   Successivamente, pubblica la prima versione della tua funzione Lambda. Quindi, creare un [alias per la versione](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).

   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 della funzione viene aggiornato. Invece, è sufficiente indirizzare l'alias alla nuova versione della funzione.

1. Da **Actions (Operazioni)**, seleziona **Publish new version (Pubblica nuova versione)**.

1. Per **Version description (Descrizione versione)**, immettere **First version**, quindi scegliere **Publish (Pubblica)**.

1. Nella pagina di configurazione **TestLRA: 1**, in **Actions (Operazioni)**, scegli **Create alias (Crea alias)**.

1. Nella pagina **Crea alias**, per **Nome, inserisci**. **test** Per **Version (Versione)**, immetti **1**. 
**Nota**  
AWS IoT Greengrass **non supporta gli alias Lambda per le versioni \$1LATEST.**

1. Scegli **Create** (Crea).  
![\[La pagina Create a new alias (Crea un nuovo alias) con il pulsante Create (Crea) evidenziato.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/lra-console/create-alias.png)

   Ora puoi aggiungere la funzione Lambda al tuo gruppo Greengrass.

## Fase 3: Aggiungere la funzione Lambda al gruppo Greengrass
<a name="lra-console-add-function"></a>

In questa fase, aggiungerai la funzione al gruppo e configurerai il ciclo di vita della funzione.

Innanzitutto, aggiungi la funzione Lambda al tuo gruppo Greengrass.

1. Nel riquadro di navigazione della AWS IoT console, in **Gestione**, espandi **i dispositivi Greengrass**, quindi scegli **Gruppi (V1**).

1. Scegli il gruppo Greengrass in cui desideri aggiungere la funzione Lambda.

1. Nella pagina di configurazione del gruppo, scegli la scheda **Funzioni Lambda**.

1. **Nella sezione **Le mie funzioni Lambda**, scegli Aggiungi.**

1. **Nella pagina **Aggiungi funzione Lambda, scegli la funzione** Lambda.** Seleziona **TestLRA**.

1. Scegli la versione della **funzione Lambda.**

1. Nella sezione **Configurazione della funzione Lambda**, seleziona **Utente e gruppo di sistema e** Containerizzazione della funzione **Lambda**.

    

   Quindi, configura il ciclo di vita della funzione Lambda.

1. Per **Timeout**, scegli **30 seconds (30 secondi)**.
**Importante**  
Le funzioni Lambda che utilizzano risorse locali (come descritto in questa procedura) devono essere eseguite in un contenitore Greengrass. In caso contrario, il tentativo di distribuire la funzione avrà esito negativo. Per ulteriori informazioni, consulta [Containerizzazione](lambda-group-config.md#lambda-function-containerization).

1. Nella parte inferiore della pagina, scegli **Aggiungi funzione Lambda**.

## Fase 4: aggiungere una risorsa locale al gruppo Greengrass
<a name="lra-console-create-resource"></a>

In questa fase, aggiungerai una risorsa di volume locale al gruppo Greengrass e concederai alla funzione l'accesso in lettura e scrittura alla risorsa. Una risorsa locale dispone di un ambito a livello di gruppo. Puoi concedere le autorizzazioni per qualsiasi funzione Lambda del gruppo per accedere alla risorsa.

1. Nella pagina di configurazione del gruppo, scegli la scheda **Risorse**.

1. Nella sezione **Risorse locali**, scegli **Aggiungi**.

1. Nella pagina **Aggiungi una risorsa locale**, utilizza i seguenti valori.

   1. Per **Resource Name (Nome risorsa)** immetti **testDirectory**.

   1. Per **Resource type (Tipo di risorsa)**, scegli **Volume**.

   1. Per **Percorso del dispositivo locale**, immettere**/src/LRAtest**. Questo percorso deve esistere sul sistema operativo dell'host. 

      Il percorso del dispositivo locale è il percorso assoluto locale della risorsa sul file system del dispositivo principale. Questa posizione è esterna al [container](lambda-group-config.md#lambda-function-containerization) in cui viene eseguita la funzione. Il percorso non può iniziare con `/sys`.

   1. Per **Destination path (Percorso di destinazione)**, immetti **/dest/LRAtest**. Questo percorso deve esistere sul sistema operativo dell'host.

      Il percorso di destinazione è il percorso assoluto della risorsa nello spazio dei nomi Lambda. Questa posizione è interna al container in cui viene eseguita la funzione.

   1. In **Proprietario del gruppo di sistema e autorizzazione di accesso ai file**, seleziona **Aggiungi automaticamente le autorizzazioni del file system del gruppo di sistema** proprietario della risorsa.

      L'opzione **System group owner and file access permission (proprietario** del gruppo di sistema e autorizzazione all'accesso ai file) consente di concedere ulteriori autorizzazioni di accesso ai file al processo Lambda. Per ulteriori informazioni, consulta [Autorizzazione di accesso ai file dell'owner del gruppo](access-local-resources.md#lra-group-owner).

1. Scegliere **Add resource (Aggiungi risorsa)**. Nella pagina **Resources (Risorse)** viene visualizzata la nuova risorsa testDirectory.

## Fase 5: aggiungere sottoscrizioni al gruppo Greengrass
<a name="lra-console-add-subscription"></a>

In questa fase, aggiungerai due sottoscrizioni al gruppo Greengrass. Questi abbonamenti consentono la comunicazione bidirezionale tra la funzione Lambda e. AWS IoT

Innanzitutto, crea un abbonamento per la funzione Lambda a cui inviare messaggi. AWS IoT

1. Nella pagina di configurazione del gruppo, scegli la scheda **Abbonamenti**.

1. Scegliere **Aggiungi**.

1. Nella pagina **Crea un abbonamento**, configura l'origine e la destinazione come segue:

   1. **Per **Tipo di sorgente**, scegli la **funzione Lambda**, quindi scegli TestLRA.**

   1. Per il **tipo di Target**, scegli **Servizio**, quindi scegli **IoT Cloud**.

   1. Per il **filtro per argomento****LRA/test**, inserisci, quindi scegli **Crea abbonamento**.

1. Nella pagina **Subscriptions (Sottoscrizioni)** viene visualizzata la nuova sottoscrizione.

    

   Quindi, configura un abbonamento che richiami la funzione da. AWS IoT

1. **Nella pagina **Abbonamenti**, scegli Aggiungi abbonamento.**

1. Nella pagina **Select your source and target (Seleziona origine e destinazione)**, configura l'origine e la destinazione come indicato di seguito:

   1. Per **Tipo di sorgente**, scegli la **funzione Lambda**, quindi scegli **IoT** Cloud.

   1. Per **Tipo di destinazione**, scegli **Servizio**, quindi scegli **TestLRA**.

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Filter your data with a topic (Filtra i dati con un argomento)**, in **Topic filter (Filtro argomento)**, immetti **invoke/LRAFunction**, quindi scegliere **Next (Avanti)**.

1. Scegli **Fine**. Nella pagina **Subscriptions (Sottoscrizioni)** vengono visualizzate le sottoscrizioni.

## Passaggio 6: Distribuire il gruppo AWS IoT Greengrass
<a name="lra-console-deploy-group"></a>

In questa fase, distribuirai la versione corrente della definizione del gruppo.

1. Assicurati che il AWS IoT Greengrass core sia in funzione. Esegui i seguenti comandi nel terminale di Raspberry Pi in base alle esigenze.

   1. Per controllare se il daemon è in esecuzione:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Se l'output contiene una voce `root` per `/greengrass/ggc/packages/1.11.6/bin/daemon`, allora il daemon è in esecuzione.
**Nota**  
La versione indicata nel percorso dipende dalla versione del software AWS IoT Greengrass Core installata sul dispositivo principale.

   1. Per avviare il demone:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. **Nella pagina di configurazione del gruppo, scegli Deploy.**
**Nota**  
La distribuzione fallisce se si esegue la funzione Lambda senza containerizzazione e si tenta di accedere alle risorse locali collegate.

1. **Se richiesto, nella scheda Funzione **Lambda**, in Funzioni **Lambda di sistema**, **selezionare Rilevatore IP**, **quindi Modifica e quindi** Rileva automaticamente.**

   Questo consente ai dispositivi di acquisire automaticamente informazioni di base sulla connettività, come, ad esempio indirizzo IP, DNS e numero della porta. Il rilevamento automatico è consigliato, ma supporta AWS IoT Greengrass anche gli endpoint specificati manualmente. Ti viene chiesto il metodo di individuazione solo la prima volta che il gruppo viene distribuito.
**Nota**  
Se richiesto, concedi l'autorizzazione a creare il ruolo di [servizio Greengrass](service-role.md) e associarlo al Account AWS tuo ruolo attuale. Regione AWS Questo ruolo consente di accedere AWS IoT Greengrass alle tue risorse nei AWS servizi.

   Nella pagina **Deployments (Distribuzioni)** vengono visualizzati il timestamp della distribuzione, l'ID versione e lo stato. Una volta completata, lo stato della distribuzione è **Completato**.

   Per la risoluzione dei problemi, consultare [Risoluzione dei problemi AWS IoT Greengrass](gg-troubleshooting.md).

## Test dell'accesso alle risorse locali
<a name="lra-console-test-results"></a>

Ora puoi verificare se l'accesso alla risorsa locale è configurato correttamente. Per eseguire il test, devi abbonarti all'argomento `LRA/test` e pubblicare nell'argomento `invoke/LRAFunction`. Il test ha esito positivo se la funzione Lambda invia il payload previsto a. AWS IoT

1. Dal menu di navigazione della AWS IoT console, in **Test**, scegliete **MQTT** test client.

1. In **Sottoscrivi a un argomento**, per **Filtro argomento**, inserisci**LRA/test**.

1. In **Informazioni aggiuntive**, per la **visualizzazione del payload MQTT**, seleziona **Visualizza i payload** come stringhe.

1. Scegli **Abbonati**. La tua funzione Lambda pubblica sull'argomento. LRA/test   
![\[La pagina Subscriptions (Sottoscrizioni) con l'opzione Subscribe to topic (Sottoscrivi nell'argomento) evidenziata.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/lra-console/test-subscribe.png)

1. In **Pubblica su un argomento**, inserisci il **nome dell'argomento****invoke/LRAFunction**, quindi scegli **Pubblica** per richiamare la funzione Lambda. Il test ha esisto positivo se nella pagina vengono visualizzati tre payload del messaggio della funzione.  
![\[La pagina Sottoscrizioni con l' invoke/LRAFunction argomento e Pubblica sull'argomento evidenziati e i risultati dei test con i dati dei messaggi.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/lra-console/test-publish.png)

Il file di test creato dalla funzione Lambda si trova nella `/src/LRAtest` directory del dispositivo principale Greengrass. Sebbene la funzione Lambda scriva su un file nella `/dest/LRAtest` directory, tale file è visibile solo nello spazio dei nomi Lambda. Non è possibile visualizzarlo in un normale spazio dei nomi Linux. Le eventuali modifiche apportate al percorso di destinazione vengono applicate al percorso di origine nel file system.

Per la risoluzione dei problemi, consultare [Risoluzione dei problemi AWS IoT Greengrass](gg-troubleshooting.md).