Importazione di una funzione Lambda come componente (console) - AWS IoT Greengrass

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à.

Importazione di una funzione Lambda come componente (console)

Quando si utilizza la AWS IoT Greengrassconsole per creare un componente della funzione Lambda, si importa una AWS Lambda funzione esistente e quindi la si configura per creare un componente che funzioni sul dispositivo Greengrass.

Prima di iniziare, esamina i requisiti per eseguire le funzioni Lambda sui dispositivi Greengrass.

Fase 1: Scegli una funzione Lambda da importare

  1. Nel menu di navigazione AWS IoT Greengrassdella console, scegli Componenti.

  2. Nella pagina Componenti, scegli Crea componente.

  3. Nella pagina Crea componente, in Informazioni sui componenti, scegli Importa funzione Lambda.

  4. Nella funzione Lambda, cerca e scegli la funzione Lambda che desideri importare.

    AWS IoT Greengrasscrea il componente con il nome della funzione Lambda.

  5. Nella versione della funzione Lambda, scegli la versione da importare. Non puoi scegliere alias Lambda come. $LATEST

    AWS IoT Greengrasscrea il componente con la versione della funzione Lambda come versione semantica valida. Ad esempio, se la versione della funzione è 3, la versione del componente diventa 3.0.0.

Fase 2: Configurazione dei parametri della funzione Lambda

Nella pagina Crea componente, in Configurazione della funzione Lambda, configura i seguenti parametri da utilizzare per eseguire la funzione Lambda.

  1. (Facoltativo) Aggiungi l'elenco delle fonti di eventi a cui la funzione Lambda si iscrive per i messaggi di lavoro. È possibile specificare le fonti di eventi per sottoscrivere questa funzione ai messaggi di pubblicazione/sottoscrizione locali e ai messaggi MQTT. AWS IoT Core La funzione Lambda viene chiamata quando riceve un messaggio da un'origine di eventi.

    Nota

    Per sottoscrivere questa funzione ai messaggi di altre funzioni o componenti Lambda, distribuisci il componente precedente del router di sottoscrizione quando distribuisci questo componente della funzione Lambda. Quando distribuisci il componente legacy del router di sottoscrizione, specifica gli abbonamenti utilizzati dalla funzione Lambda.

    In Origini di eventi, procedi come segue per aggiungere una fonte di eventi:

    1. Per ogni fonte di eventi che aggiungi, specifica le seguenti opzioni:

      • Argomento: l'argomento a cui sottoscrivere i messaggi.

      • Tipo: il tipo di origine dell'evento. Seleziona una delle opzioni seguenti:

        • Pubblicazione/sottoscrizione locale: sottoscrizione ai messaggi di pubblicazione/sottoscrizione locali.

          Se si utilizza Greengrass nucleus v2.6.0 o versione successiva e Lambda manager v2.2.5 o versione successiva, è possibile utilizzare i caratteri jolly dell'argomento MQTT (and) nell'argomento quando si specifica questo tipo. + #

        • AWS IoT CoreAWS IoT CoreMQTT: sottoscrizione ai messaggi MQTT.

          È possibile utilizzare i caratteri jolly degli argomenti MQTT (+and#) nell'argomento quando si specifica questo tipo.

    2. Per aggiungere un'altra fonte di eventi, scegliete Aggiungi origine evento e ripetete il passaggio precedente. Per rimuovere una fonte di evento, scegli Rimuovi accanto alla fonte dell'evento che desideri rimuovere.

  2. Per Timeout (secondi), inserisci il periodo di tempo massimo, in secondi, che una funzione Lambda non bloccata può eseguire prima del timeout. Il valore predefinito è 3 secondi.

  3. Per Bloccato, scegli se il componente della funzione Lambda è bloccato. L'impostazione predefinita è True.

    • Una funzione Lambda bloccata (o di lunga durata) si AWS IoT Greengrass avvia all'avvio e continua a funzionare nel proprio contenitore.

    • Una funzione Lambda non bloccata (o su richiesta) si avvia solo quando riceve un elemento di lavoro e esce dopo che è rimasto inattivo per un periodo di inattività massimo specificato. Se la funzione ha più elementi di lavoro, il software AWS IoT Greengrass Core crea più istanze della funzione.

  4. (Facoltativo) In Parametri aggiuntivi, imposta i seguenti parametri della funzione Lambda.

    • Timeout di stato (secondi): l'intervallo in secondi in cui il componente della funzione Lambda invia aggiornamenti di stato al componente Lambda manager. Questo parametro si applica solo alle funzioni bloccate. Il valore predefinito è 60 secondi.

    • Dimensione massima della coda: la dimensione massima della coda dei messaggi per il componente della funzione Lambda. Il software AWS IoT Greengrass Core archivia i messaggi in una coda FIFO (first-in, first-out) fino a quando non può eseguire la funzione Lambda per consumare ogni messaggio. L'impostazione predefinita è 1.000 messaggi.

    • Numero massimo di istanze: il numero massimo di istanze che una funzione Lambda non bloccata può eseguire contemporaneamente. L'impostazione predefinita è 100 istanze.

    • Tempo di inattività massimo (secondi): il periodo di inattività massimo, in secondi, che una funzione Lambda non bloccata può rimanere inattiva prima che il software Core interrompa AWS IoT Greengrass il processo. Il valore predefinito è 60 secondi.

    • Tipo di codifica: il tipo di payload supportato dalla funzione Lambda. Seleziona una delle opzioni seguenti:

      • JSON

      • Binary

      Il valore predefinito è JSON.

  5. (Facoltativo) Specificate l'elenco degli argomenti della riga di comando da passare alla funzione Lambda durante l'esecuzione.

    1. In Parametri aggiuntivi, Elabora argomenti, scegli Aggiungi argomento.

    2. Per ogni argomento che aggiungi, inserisci l'argomento che desideri passare alla funzione.

    3. Per rimuovere un argomento, scegliete Rimuovi accanto all'argomento che desiderate rimuovere.

  6. (Facoltativo) Specificate le variabili di ambiente disponibili per la funzione Lambda quando viene eseguita. Le variabili di ambiente consentono di memorizzare e aggiornare le impostazioni di configurazione senza la necessità di modificare il codice della funzione.

    1. In Parametri aggiuntivi, Variabili di ambiente, scegli Aggiungi variabile di ambiente.

    2. Per ogni variabile di ambiente che aggiungi, specifica le seguenti opzioni:

      • Chiave: il nome della variabile.

      • Valore: il valore predefinito per questa variabile.

    3. Per rimuovere una variabile di ambiente, scegli Rimuovi accanto alla variabile di ambiente che desideri rimuovere.

Fase 3: (Facoltativo) Specificare le piattaforme supportate per la funzione Lambda

Tutti i dispositivi principali hanno attributi per il sistema operativo e l'architettura. Quando si distribuisce il componente della funzione Lambda, AWS IoT Greengrass il software Core confronta i valori della piattaforma specificati con gli attributi della piattaforma sul dispositivo principale per determinare se la funzione Lambda è supportata su quel dispositivo.

Nota

È inoltre possibile specificare attributi di piattaforma personalizzati quando si distribuisce il componente Greengrass nucleus su un dispositivo principale. Per ulteriori informazioni, consulta il parametro platform overrides del componente Greengrass nucleus.

In Configurazione della funzione Lambda, Parametri aggiuntivi, Piattaforme, procedi come segue per specificare le piattaforme supportate da questa funzione Lambda.

  1. Per ogni piattaforma, specifica le seguenti opzioni:

    • Sistema operativo: il nome del sistema operativo per la piattaforma. Attualmente, l'unico valore supportato è linux.

    • Architettura: l'architettura del processore per la piattaforma. I valori supportati sono:

      • amd64

      • arm

      • aarch64

      • x86

  2. Per aggiungere un'altra piattaforma, scegli Aggiungi piattaforma e ripeti il passaggio precedente. Per rimuovere una piattaforma supportata, scegli Rimuovi accanto alla piattaforma che desideri rimuovere.

Fase 4: (Facoltativo) Specificare le dipendenze dei componenti per la funzione Lambda

Le dipendenze tra i componenti identificano i componenti aggiuntivi AWS forniti o i componenti personalizzati utilizzati dalla funzione. Quando si distribuisce il componente della funzione Lambda, la distribuzione include queste dipendenze per l'esecuzione della funzione.

Importante

Per importare una funzione Lambda creata per l'esecuzione su AWS IoT Greengrass V1, è necessario definire le dipendenze dei singoli componenti per le funzionalità utilizzate dalla funzione, come segreti, ombre locali e gestore di flussi. Definisci questi componenti come dipendenze rigide in modo che il componente della funzione Lambda si riavvii se la dipendenza cambia stato. Per ulteriori informazioni, consulta Importa funzioni Lambda V1.

In Configurazione della funzione Lambda, Parametri aggiuntivi, Dipendenze dei componenti, completa i seguenti passaggi per specificare le dipendenze dei componenti per la tua funzione Lambda.

  1. Scegli Aggiungi dipendenza.

  2. Per ogni dipendenza dal componente che aggiungi, specifica le seguenti opzioni:

    • Nome del componente: il nome del componente. Ad esempio, immettete aws.greengrass.StreamManager per includere il componente stream manager.

    • Requisito di versione: il vincolo di versione semantica in stile npm che identifica le versioni compatibili di questa dipendenza dal componente. È possibile specificare una singola versione o un intervallo di versioni. Ad esempio, immettere ^1.0.0 per specificare che questa funzione Lambda dipende da qualsiasi versione della prima versione principale del componente stream manager. Per ulteriori informazioni sui vincoli di versione semantica, consulta il calcolatore semver npm.

    • Tipo: il tipo di dipendenza. Seleziona una delle opzioni seguenti:

      • Difficile: il componente della funzione Lambda si riavvia se la dipendenza cambia stato. Questa è la selezione predefinita.

      • Soft: il componente della funzione Lambda non si riavvia se la dipendenza cambia stato.

  3. Per rimuovere una dipendenza da un componente, scegli Rimuovi accanto alla dipendenza del componente

Fase 5: (Facoltativo) Eseguire la funzione Lambda in un contenitore

Per impostazione predefinita, le funzioni Lambda vengono eseguite in un ambiente di runtime isolato all'interno del software AWS IoT Greengrass Core. Puoi anche scegliere di eseguire la funzione Lambda come processo senza alcun isolamento (ovvero in modalità No container).

In Configurazione del processo Linux, per la modalità Isolamento, scegli tra le seguenti opzioni per selezionare la containerizzazione per la tua funzione Lambda:

  • Contenitore Greengrass: la funzione Lambda viene eseguita in un contenitore. Questa è la selezione predefinita.

  • Nessun contenitore: la funzione Lambda viene eseguita come processo senza alcun isolamento.

Se esegui la funzione Lambda in un contenitore, completa i seguenti passaggi per configurare la configurazione del processo per la funzione Lambda.

  1. Configura la quantità di memoria e le risorse di sistema, come volumi e dispositivi, da rendere disponibili al contenitore.

    In Parametri del contenitore, procedi come segue.

    1. In Dimensione della memoria, inserisci la dimensione della memoria che desideri allocare al contenitore. È possibile specificare la dimensione della memoria in MB o kB.

    2. Per la cartella sys di sola lettura, scegliete se il contenitore può leggere o meno le informazioni dalla cartella del dispositivo. /sys L'impostazione predefinita è False.

  2. (Facoltativo) Configura i volumi locali a cui può accedere la funzione Lambda containerizzata. Quando definisci un volume, il software AWS IoT Greengrass Core monta i file di origine sulla destinazione all'interno del container.

    1. In Volumi, scegli Aggiungi volume.

    2. Per ogni volume che aggiungi, specifica le seguenti opzioni:

      • Volume fisico: il percorso della cartella di origine sul dispositivo principale.

      • Volume logico: il percorso della cartella di destinazione nel contenitore.

      • Autorizzazione: (Facoltativo) L'autorizzazione ad accedere alla cartella di origine dal contenitore. Seleziona una delle opzioni seguenti:

        • Sola lettura: la funzione Lambda ha accesso in sola lettura alla cartella di origine. Questa è la selezione predefinita.

        • Lettura/scrittura: la funzione Lambda ha accesso in lettura/scrittura alla cartella di origine.

      • Aggiungi proprietario del gruppo - (Facoltativo) Se aggiungere o meno il gruppo di sistema che esegue il componente della funzione Lambda come proprietario della cartella di origine. L'impostazione predefinita è False.

    3. Per rimuovere un volume, scegli Rimuovi accanto al volume che desideri rimuovere.

  3. (Facoltativo) Configura i dispositivi del sistema locale a cui può accedere la funzione Lambda containerizzata.

    1. In Dispositivi, scegli Aggiungi dispositivo.

    2. Per ogni dispositivo che aggiungi, specifica le seguenti opzioni:

      • Percorso di montaggio: il percorso verso il dispositivo di sistema sul dispositivo principale.

      • Autorizzazione: (Facoltativo) L'autorizzazione ad accedere al dispositivo di sistema dal contenitore. Seleziona una delle opzioni seguenti:

        • Sola lettura: la funzione Lambda ha accesso in sola lettura al dispositivo di sistema. Questa è la selezione predefinita.

        • Lettura/scrittura: la funzione Lambda ha accesso in lettura/scrittura alla cartella di origine.

      • Aggiungi proprietario del gruppo - (Facoltativo) Se aggiungere o meno il gruppo di sistema che esegue il componente della funzione Lambda come proprietario del dispositivo di sistema. L'impostazione predefinita è False.

Fase 6: Creare il componente della funzione Lambda

Dopo aver configurato le impostazioni per il componente della funzione Lambda, scegli Crea per completare la creazione del nuovo componente.

Per eseguire la funzione Lambda sul dispositivo principale, è quindi possibile distribuire il nuovo componente sui dispositivi principali. Per ulteriori informazioni, consulta Implementazione AWS IoT Greengrass dei componenti sui dispositivi.