Distribuzione di funzioni Lambda come archivi di file .zip - AWS Lambda

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

Distribuzione di funzioni Lambda come archivi di file .zip

Quando si crea una funzione Lambda, viene utilizzato un pacchetto di implementazione per impacchettare il codice della funzione. Lambda supporta due tipi di pacchetti di implementazione: immagini di container e archivi di file .zip. Il flusso di lavoro per creare una funzione dipende dal tipo di pacchetto di implementazione. Per creare una funzione definita come immagine di container, consulta Creare una funzione Lambda utilizzando un'immagine del contenitore.

Puoi usare la console Lambda e Lambda API per creare una funzione definita con un archivio di file.zip. È inoltre possibile caricare un file .zip aggiornato per modificare il codice funzione.

Nota

Non è possibile modificare il tipo di pacchetto di distribuzione (.zip o immagine del contenitore) per una funzione esistente. Ad esempio, non è possibile convertire una funzione di immagine del contenitore per utilizzare un archivio di file.zip. È necessario creare una nuova funzione.

Creazione della funzione

Quando si crea una funzione definita con un archivio di file .zip, si scelgono un modello di codice, la versione della lingua e il ruolo di esecuzione per la funzione. Si aggiunge il codice della funzione dopo che Lambda ha creato la funzione.

Creazione della funzione
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegli Crea funzione.

  3. Scegliere Author from scratch (Crea da zero) o Use a blueprint (Usa un piano) per creare la funzione

  4. In Basic information (Informazioni di base) eseguire queste operazioni:

    1. In Function name (Nome funzione), immettere il nome della funzione. I nomi delle funzioni hanno un limite di lunghezza di 64 caratteri.

    2. Per Runtime, scegliere la versione della lingua da utilizzare per la funzione.

    3. (Opzionale) Per Architecture (Architettura), scegli l'architettura del set di istruzioni da utilizzare per la funzione. L'architettura predefinita è x86_64. Quando crei il pacchetto di implementazione per la tua funzione, assicurati che sia compatibile con questa architettura del set di istruzioni.

  5. (Opzionale) In Autorizzazioni espandere Modifica ruolo di esecuzione predefinito. Puoi creare un nuovo ruolo di esecuzione o utilizzare un ruolo esistente.

  6. (Facoltativo) Espandi Advanced settings (Impostazioni avanzate). È possibile scegliere una Code signing configuration (Configurazione della firma del codice) per la funzione Puoi anche configurare un (AmazonVPC) per l'accesso alla funzione.

  7. Scegli Crea funzione.

Lambda crea la nuova funzione. È ora possibile utilizzare la console per aggiungere il codice della funzione e configurare altri parametri di funzione e funzionalità. Per le istruzioni di distribuzione del codice, consulta la pagina del gestore del runtime utilizzato dalla funzione.

Node.js

Distribuisci funzioni Lambda in Node.js con archivi di file .zip

Python

Utilizzo di archivi di file .zip per le funzioni Lambda in Python

Ruby

Distribuire le funzioni Ruby Lambda con gli archivi di file .zip

Java

Implementa le funzioni Java Lambda con archivi di JAR file.zip o di file

Go

Distribuisci funzioni Lambda per Go con gli archivi di file .zip

C#

Crea e implementa le funzioni Lambda C# con gli archivi di file .zip

PowerShell

Implementa le funzioni PowerShell Lambda con archivi di file.zip

Utilizzo dell'editor di codice della console

La console crea una funzione Lambda con un unico file di origine. Per i linguaggi di scripting, è possibile modificare questo file e aggiungere altri file con l'editor di codice incorporato. Per salvare le modifiche, scegliere Save (Salva). Quindi, per eseguire il codice, scegliere Test (Testa).

Quando si salva il codice funzione, la console Lambda crea un pacchetto di implementazione dell'archivio di file .zip. Quando sviluppi il codice della funzione all'esterno della console (utilizzando unIDE), devi creare un pacchetto di distribuzione per caricare il codice nella funzione Lambda.

Aggiornamento del codice della funzione

Per i linguaggi di scripting (Node.js, Python e Ruby), puoi modificare il codice della funzione nell'editor di codice incorporato. Se il codice supera i 3 MB, o se è necessario aggiungere librerie, o per linguaggi che l'editor non supporta (come Java, Go e C#), è necessario caricare il codice funzione come archivio .zip. Se l'archivio di file .zip è inferiore a 50 MB, è possibile caricare l'archivio di file .zip direttamente dal computer locale. Se le dimensioni dell'archivio .zip sono maggiori di 50 MB, carica il file sulla funzione da un bucket Amazon S3.

Per caricare il codice funzione come archivio .zip
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere la funzione da aggiornare e scegliere la scheda Codice

  3. In Code source (Origine codice), scegli Upload from (Carica da).

  4. Scegli .zip file, quindi scegli Upload (Carica).

    1. Nella finestra di selezione dei file, selezionare la nuova versione dell'immagine e scegliere Open (Apri), quindi scegliere Save (Salva).

  5. (Alternativa al passaggio 4) Scegli Percorso Amazon S3.

    1. Nella casella di testo, inserisci il link S3 dell'archivio URL del file.zip, quindi scegli Salva.

Modifica del runtime

Se si aggiorna la configurazione della funzione in modo da utilizzare una nuova versione di runtime, potrebbe essere necessario aggiornare il codice della funzione per renderlo compatibile con la nuova versione. Se si aggiorna la configurazione della funzione per utilizzare un runtime diverso, è necessario fornire un nuovo codice funzione compatibile con il runtime e l'architettura. Per istruzioni su come creare un pacchetto di implementazione per il codice della funzione, consulta la pagina del gestore per il runtime utilizzato dalla funzione.

Node.js 20, Python 3.12, Java 21,. NET8, Ruby 3.3 e le immagini di base successive si basano sull'immagine contenitore minima di Amazon Linux 2023. Le immagini di base precedenti utilizzavano Amazon Linux 2. AL2023 offre diversi vantaggi rispetto ad Amazon Linux 2, tra cui un ingombro di distribuzione ridotto e versioni aggiornate di librerie come. glibc Per ulteriori informazioni, consulta il post Introducing the Amazon Linux 2023 runtime for AWS Lambda del blog AWS Compute.

Modifica del runtime
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere la funzione da aggiornare e scegliere la scheda Codice

  3. Scorrere fino alla sezione Runtime settings (Impostazioni runtime) sotto l'editor di codice.

  4. Scegli Modifica.

    1. Per Runtime, seleziona l'identificatore di runtime.

    2. In Gestore, specifica il nome del file e il gestore per la funzione.

    3. Per Architecture (Architettura), scegli l'architettura del set di istruzioni da utilizzare per la funzione.

  5. Seleziona Salva.

Modifica dell'architettura

Prima di poter modificare l'architettura del set di istruzioni, è necessario assicurarsi che il codice della funzione sia compatibile con l'architettura di destinazione.

Se usi Node.js, Python o Ruby e modifichi il codice della funzione nell'editor incorporato, il codice esistente può essere eseguito senza modifiche.

Tuttavia, se si fornisce il codice della funzione utilizzando un pacchetto di implementazione con un archivio di file. zip, è necessario preparare un nuovo archivio di file .zip compilato e sviluppato correttamente per il runtime e l'architettura del set di istruzioni di destinazione. Per le istruzioni, consulta la pagina del gestore del runtime della funzione.

Per modificare l'architettura del set di istruzioni
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere la funzione da aggiornare e scegliere la scheda Codice

  3. In Impostazioni runtime, scegliere Modifica.

  4. Per Architecture (Architettura), scegli l'architettura del set di istruzioni da utilizzare per la funzione.

  5. Seleziona Salva.

Usare la Lambda API

Per creare e configurare una funzione che utilizza un archivio di file.zip, utilizzate le seguenti operazioni: API

AWS CloudFormation

È possibile utilizzare AWS CloudFormation per creare una funzione Lambda che utilizza un archivio di file.zip. Nel AWS CloudFormation modello, la AWS::Lambda::Function risorsa specifica la funzione Lambda. Per le descrizioni delle proprietà della AWS::Lambda::Function risorsa, vedere AWS: :Lambda: :Function nella Guida per l'AWS CloudFormation utente.

Nella risorsa AWS::Lambda::Function, impostare le seguenti proprietà per creare una funzione definita come archivio di file .zip:

  • AWS: :Lambda: :Funzione

    • PackageType — Impostato su. Zip

    • Codice: inserisci il nome del bucket Amazon S3 e il nome del file .zip nei campi S3Bucket e S3Key. Per Node.js o Python, puoi fornire il codice sorgente inline della funzione Lambda.

    • Runtime: imposta il valore di runtime.

    • Architettura: imposta il valore dell'architettura su cui arm64 utilizzare il processore AWS Graviton2. Per impostazione predefinita, il valore dell'architettura è x86_64.