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.
Argomenti
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
Aprire la pagina Funzioni
della console Lambda. -
Scegli Crea funzione.
-
Scegliere Author from scratch (Crea da zero) o Use a blueprint (Usa un piano) per creare la funzione
-
In Basic information (Informazioni di base) eseguire queste operazioni:
-
In Function name (Nome funzione), immettere il nome della funzione. I nomi delle funzioni hanno un limite di lunghezza di 64 caratteri.
-
Per Runtime, scegliere la versione della lingua da utilizzare per la funzione.
-
(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.
-
-
(Opzionale) In Autorizzazioni espandere Modifica ruolo di esecuzione predefinito. Puoi creare un nuovo ruolo di esecuzione o utilizzare un ruolo esistente.
-
(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.
-
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.
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
Aprire la pagina Funzioni
della console Lambda. -
Scegliere la funzione da aggiornare e scegliere la scheda Codice
-
In Code source (Origine codice), scegli Upload from (Carica da).
-
Scegli .zip file, quindi scegli Upload (Carica).
Nella finestra di selezione dei file, selezionare la nuova versione dell'immagine e scegliere Open (Apri), quindi scegliere Save (Salva).
-
(Alternativa al passaggio 4) Scegli Percorso Amazon S3.
-
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
Modifica del runtime
Aprire la pagina Funzioni
della console Lambda. -
Scegliere la funzione da aggiornare e scegliere la scheda Codice
-
Scorrere fino alla sezione Runtime settings (Impostazioni runtime) sotto l'editor di codice.
-
Scegli Modifica.
-
Per Runtime, seleziona l'identificatore di runtime.
-
In Gestore, specifica il nome del file e il gestore per la funzione.
-
Per Architecture (Architettura), scegli l'architettura del set di istruzioni da utilizzare per la funzione.
-
-
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
Aprire la pagina Funzioni
della console Lambda. -
Scegliere la funzione da aggiornare e scegliere la scheda Codice
-
In Impostazioni runtime, scegliere Modifica.
-
Per Architecture (Architettura), scegli l'architettura del set di istruzioni da utilizzare per la funzione.
-
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
eS3Key
. 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
.