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

Runtime Lambda

Lambda supporta più lingue attraverso l'uso di runtime. Un runtime fornisce un ambiente specifico del linguaggio che inoltra gli eventi di chiamata, le informazioni di contesto e le risposte tra Lambda e la funzione. Puoi utilizzare i runtime forniti da Lambda o puoi crearne uno personalizzato.

Ogni versione del linguaggio di programmazione principale ha un runtime separato, con un identificatore di runtime univoco, ad esempio nodejs20.x o python3.12. Per configurare una funzione in modo da utilizzare una nuova versione principale del linguaggio, è necessario modificare l'identificatore di runtime. Poiché AWS Lambda non è possibile garantire la compatibilità con le versioni precedenti tra le versioni principali, si tratta di un'operazione gestita dal cliente.

Per una funzione definita come immagine di container, scegli un runtime e la distribuzione Linux quando crei l'immagine di container. Per modificare il runtime, è necessario creare una nuova immagine di container.

Quando si utilizza un archivio di file con estensione .zip per il pacchetto di implementazione, è necessario scegliere un runtime quando si crea la funzione. Per modificare il runtime, è possibile aggiornare la configurazione della funzione. Il runtime è associato a una delle distribuzioni Amazon Linux. L'ambiente di esecuzione sottostante fornisce ulteriori librerie e variabili di ambiente alle quali è possibile accedere dal codice della funzione.

Lambda richiama la funzione in un ambiente di esecuzione. Un ambiente di esecuzione fornisce un ambiente di runtime sicuro e isolato che gestisce le risorse necessarie per eseguire la funzione. Lambda riutilizza l'ambiente di esecuzione da una chiamata precedente, se disponibile, oppure può creare un nuovo ambiente di esecuzione.

Per utilizzare altri linguaggi in Lambda, come Go o Rust, utilizza un runtime solo per il sistema operativo. L'ambiente di esecuzione Lambda offre un'interfaccia di runtime per ricevere gli eventi di chiamata e inviare le risposte. Puoi implementare altri linguaggi implementando un runtime personalizzato insieme al codice della funzione o in un livello.

Nella tabella seguente sono elencati i runtime Lambda supportati e le date di ritiro previste. Una volta ritirato un runtime, è ancora possibile creare e aggiornare le funzioni per un periodo limitato. Per ulteriori informazioni, consulta Supporto per il runtime dopo la deprecazione. La tabella riporta le date attualmente previste per il ritiro dei runtime. Tali date vengono indicate a scopo di pianificazione e sono soggette a modifiche.

Runtime supportati
Nome Identificatore SDK Sistema operativo Data di ritiro Blocco creazione funzioni Blocco aggiornamento funzioni

Node.js 20

nodejs20.x

3,362,0

Amazon Linux 2023

Node.js 18

nodejs18.x

3,362,0

Amazon Linux 2

Node.js 16

nodejs16.x

2,1374,0

Amazon Linux 2

12 giugno 2024

15 luglio 2024

15 agosto 2024

Python 3.12

python3.12

boto3-1.28.72 botocore-1.31.72

Amazon Linux 2023

Python 3,11

python3.11

boto3-1.27.1 botocore-1.30.1

Amazon Linux 2

Python 3.10

python3.10

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

Python 3.9

python3.9

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

Python 3.8

python3.8

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

14 ottobre 2024

13 novembre 2024

7 gennaio 2025

Java 21

java21

Amazon Linux 2023

Java 17

java17

Amazon Linux 2

Java 11

java11

Amazon Linux 2

Java 8

java8.al2

Amazon Linux 2

.NET 8

dotnet8

Amazon Linux 2023

.NET 7 (solo container)

dotnet7

Amazon Linux 2

14 maggio 2024

.NET 6

dotnet6

Amazon Linux 2

12 novembre 2024

11 gennaio 2025

11 febbraio 2025

Ruby 3.2

ruby3.2

3.1.0

Amazon Linux 2

Runtime solo per il sistema operativo

provided.al2023

Amazon Linux 2023

Runtime solo per il sistema operativo

provided.al2

Amazon Linux 2

Nota

Per le nuove regioni, Lambda non supporterà i runtime per cui è previsto il ritiro entro i prossimi 6 mesi.

Lambda mantiene aggiornati i runtime gestiti e le immagini di base dei container corrispondenti con patch e supporto per le versioni minori. Per ulteriori informazioni, consulta Aggiornamenti di runtime Lambda.

Lambda continua a supportare il linguaggio di programmazione Go dopo il ritiro del runtime Go 1.x. Per ulteriori informazioni, consulta la sezione Migrazione AWS Lambda delle funzioni dal runtime Go1.x al runtime personalizzato su Amazon Linux 2 sul blog di ComputeAWS .

Tutti i runtime Lambda supportati supportano sia le architetture x86_64 che arm64.

Nuovi rilasci di runtime

Lambda fornisce runtime gestiti per le nuove versioni di linguaggio solo quando il rilascio raggiunge la fase di supporto a lungo termine (LTS) del ciclo di rilascio del linguaggio. Ad esempio, per il ciclo di rilascio di Node.js, quando il rilascio raggiunge la fase Active LTS.

Prima che raggiunga la fase di supporto a lungo termine, il rilascio rimane in fase di sviluppo e può ancora essere soggetto a modifiche sostanziali. Lambda applica in automatico gli aggiornamenti di runtime per impostazione predefinita, quindi le modifiche sostanziali a una versione di runtime potrebbe impedire alle funzioni di funzionare come previsto.

Lambda non fornisce runtime gestiti per le versioni di linguaggio che non sono pianificate per il rilascio LTS.

Date di lancio dei runtime futuri

L'elenco seguente mostra il mese di lancio previsto per i runtime Lambda futuri. Queste date sono solo indicative e soggette a modifica.

  • Ruby 3.3: marzo 2024

  • Python 3.13: novembre 2024

  • Node.js 22: novembre 2024

Policy di deprecazione del runtime

Runtime Lambda per gli archivi di file .zip sono costruiti attorno a una combinazione di sistema operativo, linguaggio di programmazione e librerie software soggette a aggiornamenti di manutenzione e sicurezza. La politica di deprecazione standard di Lambda prevede di rendere obsoleto un runtime quando uno dei componenti principali del runtime raggiunge la fine del supporto comunitario a lungo termine (LTS) e gli aggiornamenti di sicurezza non sono più disponibili. In genere si tratta del runtime del linguaggio, anche se in alcuni casi un runtime può diventare obsoleto perché il sistema operativo (OS) raggiunge la fine dell'LTS.

Dopo che un runtime è diventato obsoleto, Lambda non applica più patch di sicurezza a tale runtime e le funzioni che lo utilizzano non sono più idonee per il supporto tecnico.

Per ulteriori informazioni sulla gestione degli aggiornamenti di runtime e sulla deprecazione, consulta le seguenti sezioni e Gestione degli aggiornamenti di runtime sul blog di Compute. AWS Lambda AWS

Importante

Occasionalmente, Lambda ritarda la deprecazione di un runtime Lambda per un periodo limitato oltre la data di fine del supporto della versione di linguaggio supportata dal runtime. Durante questo periodo, Lambda applica le patch di sicurezza soltanto al sistema operativo runtime. Una volta raggiunta la data di fine del supporto, Lambda non applica le patch di sicurezza ai runtime dei linguaggi di programmazione.

Deprecazione del runtime per Node.js 16

In risposta al feedback dei clienti, AWS sta posticipando la deprecazione del runtime di Node.js 16 fino a 6 mesi dopo la fine della community LTS. Il runtime Node.js 16 diventerà obsoleto alla data fornita nella tabella Runtime supportati. Come indicato nella nota precedente, tra la fine dell'LTS l'11 settembre 2023 e la data di deprecazione, Lambda applicherà al runtime soltanto le patch del sistema operativo. Durante questo periodo, non verranno applicate patch di sicurezza per il runtime del linguaggio.

Il ritardo della deprecazione di Node.js 16 offre ai clienti che utilizzano questo runtime l'opportunità di migrare le proprie funzioni direttamente a Node.js 20, saltando Node.js 18.

Supporto per il runtime dopo la deprecazione

Per almeno 30 giorni dopo il ritiro di un runtime, puoi ancora creare nuove funzioni Lambda utilizzando quel runtime. A partire da 30 giorni dopo il ritiro, Lambda comincia a bloccare la creazione di nuove funzioni.

Per almeno 60 giorni dopo il ritiro di un runtime, puoi ancora aggiornare il codice della funzione per quelle esistenti. A partire da 60 giorni dopo il ritiro, Lambda comincia a bloccare l'aggiornamento del codice della funzione per le funzioni esistenti.

Tieni presente che il periodo di tempo esatto per cui potrai continuare a creare e aggiornare le funzioni non è fisso. Questo periodo può variare per ogni deprecazione e per diversa. Regioni AWS Le date nominali per il blocco della creazione e degli aggiornamenti delle funzioni sono indicate nella tabella Runtime supportati nella prima sezione di questa pagina. Lambda non comincerà a bloccare la creazione o gli aggiornamenti delle funzioni prima delle date riportate nella tabella.

Puoi continuare a richiamare le funzioni all'infinito dopo che il runtime è stato ritirato. Tuttavia, si consiglia AWS vivamente di migrare le funzioni a un runtime supportato in modo che le funzioni continuino a ricevere patch di sicurezza e rimangano idonee al supporto tecnico. Puoi aggiornare la configurazione di una funzione per utilizzare una versione di runtime supportata più recente a tempo indeterminato dopo il ritiro di un runtime.

Ricezione di notifiche di ritiro del runtime

Quando un runtime si avvicina alla data di deprecazione, Lambda invia un avviso e-mail se alcune funzioni del runtime utilizzano quel runtime. Account AWS Le notifiche vengono visualizzate anche in e in. AWS Health Dashboard AWS Trusted Advisor

  • Ricezione di notifiche e-mail:

    Lambda ti invia un avviso e-mail almeno 180 giorni prima che un runtime venga ritirato. Questa e-mail elenca le versioni $LATEST di tutte le funzioni che utilizzano il runtime. Per visualizzare un elenco completo delle versioni delle funzioni interessate, usa Trusted Advisor o seeElencare le funzioni interessate utilizzando il AWS CLI.

    Lambda invia una notifica via e-mail al contatto principale Account AWS del tuo account. Per informazioni sulla visualizzazione o l'aggiornamento degli indirizzi e-mail nel tuo account, consulta la pagina Aggiornamento delle informazioni di contatto della Guida generale di AWS .

  • Ricezione di notifiche tramite: AWS Health Dashboard

    AWS Health Dashboard Visualizza una notifica almeno 180 giorni prima che un runtime diventi obsoleto. Le notifiche compaiono nella pagina Stato del tuo account, in Altre notifiche. La scheda Risorse interessate della notifica elenca le versioni $LATEST di tutte le funzioni che utilizzano il runtime.

    Nota

    Per visualizzare un up-to-date elenco completo delle versioni delle funzioni interessate, usa Trusted Advisor or see. Elencare le funzioni interessate utilizzando il AWS CLI

    AWS Health Dashboard le notifiche scadono 90 giorni dopo che il runtime interessato è diventato obsoleto.

  • Usando AWS Trusted Advisor

    Trusted Advisor visualizza una notifica 180 giorni prima che un runtime diventi obsoleto. Le notifiche compaiono nella pagina Sicurezza. Un elenco delle funzioni interessate viene visualizzato in Funzioni AWS Lambda che utilizzano runtime ritirati. Questo elenco di funzioni mostra sia le versioni $LATEST sia le versioni pubblicate e si aggiorna in automatico per riflettere lo stato attuale delle funzioni.

    Puoi attivare le notifiche e-mail settimanali dalla Trusted Advisor pagina Preferenze della console. Trusted Advisor

Elencare le funzioni interessate utilizzando il AWS CLI

Oltre Trusted Advisor a visualizzare un elenco in tempo reale delle funzioni interessate dalle deprecazioni pianificate del runtime, puoi anche usare the AWS Command Line Interface (AWS CLI) per elencare tutte le versioni delle funzioni che utilizzano un determinato runtime. Per generare questo elenco, esegui il comando seguente. Sostituiscilo RUNTIME_IDENTIFIER con il nome del runtime che è diventato obsoleto e scegli il tuo. Regione AWS Per elencare solo le versioni della funzione $LATEST, ometti --function-version ALL dal comando.

aws lambda list-functions --function-version ALL --region us-east-1 --output text --query "Functions[?Runtime=='RUNTIME_IDENTIFIER'].FunctionArn"
Suggerimento

Il comando di esempio elenca le funzioni nella us-east-1 regione per una determinata regione. Account AWS Dovrai ripetere questo comando per ogni regione in cui il tuo account ha funzioni e per ognuna delle tue. Account AWS

È inoltre possibile utilizzare la funzionalità AWS Config Interrogazioni avanzate per elencare tutte le funzioni che utilizzano un runtime interessato. Questa query restituisce solo le versioni della funzione $LATEST, ma è possibile aggregare le query per elencare le funzioni in tutte le regioni e più regioni Account AWS con un solo comando. Per ulteriori informazioni, consulta Interrogazione dello stato di configurazione corrente delle AWS Auto Scaling risorse nella Guida per gli sviluppatori. AWS Config

Runtime obsoleti

Per i seguenti runtime è stata raggiunta la fine del supporto:

Runtime obsoleti
Nome Identificatore Sistema operativo Data di ritiro Blocco creazione funzioni Blocco aggiornamento funzioni

Java 8

java8

Amazon Linux

8 gennaio 2024

8 febbraio 2024

12 marzo 2024

Go 1.x

go1.x

Amazon Linux

8 gennaio 2024

8 febbraio 2024

12 marzo 2024

Runtime solo per il sistema operativo

provided

Amazon Linux

8 gennaio 2024

8 febbraio 2024

12 marzo 2024

Ruby 2.7

ruby2.7

Amazon Linux 2

7 dicembre 2023

9 gennaio 2024

8 febbraio 2024

Node.js 14

nodejs14.x

Amazon Linux 2

4 dicembre 2023

9 gennaio 2024

8 febbraio 2024

Python 3.7

python3.7

Amazon Linux

4 dicembre 2023

9 gennaio 2024

8 febbraio 2024

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

3 aprile 2023

3 aprile 2023

3 maggio 2023

Node.js 12

nodejs12.x

Amazon Linux 2

31 marzo 2023

31 marzo 2023

30 aprile 2023

Python 3.6

python3.6

Amazon Linux

18 luglio 2022

18 luglio 2022

29 agosto 2022

.NET 5 (solo container)

dotnet5.0

Amazon Linux 2

10 maggio 2022

.NET Core 2.1

dotnetcore2.1

Amazon Linux

5 gennaio 2022

5 gennaio 2022

13 aprile 2022

Node.js 10

nodejs10.x

Amazon Linux 2

30 luglio 2021

30 luglio 2021

14 febbraio 2022

Ruby 2.5

ruby2.5

Amazon Linux

30 luglio 2021

30 luglio 2021

31 marzo 2022

Python 2.7

python2.7

Amazon Linux

15 luglio 2021

15 luglio 2021

30 maggio 2022

Node.js 8.10

nodejs8.10

Amazon Linux

6 marzo 2020

6 marzo 2020

Node.js 4.3

nodejs4.3

Amazon Linux

5 marzo 2020

5 marzo 2020

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux

5 marzo 2020

30 aprile 2019

Node.js 6.10

nodejs6.10

Amazon Linux

12 agosto 2019

12 agosto 2019

.NET Core 1.0

dotnetcore1.0

Amazon Linux

27 giugno 2019

30 luglio 2019

.NET Core 2.0

dotnetcore2.0

Amazon Linux

30 maggio 2019

30 maggio 2019

Node.js 0.10

nodejs

Amazon Linux

31 ottobre 2016

In quasi tutti i casi, la end-of-life data della versione linguistica o del sistema operativo è nota con largo anticipo. I seguenti collegamenti forniscono le end-of-life pianificazioni per ogni lingua supportata da Lambda come runtime gestito.

Policy di supporto su linguaggio e framework