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.

Runtime supportati

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 Utilizzo in fase di esecuzione 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.

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

Node.js 20

nodejs20.x

Amazon Linux 2023

Non pianificato

Non programmato

Non programmato

Node.js 18

nodejs18.x

Amazon Linux 2

31 luglio 2025

1 settembre 2025

1 ottobre 2025

Python 3.12

python3.12

Amazon Linux 2023

Non programmato

Non programmato

Non programmato

Python 3.11

python3.11

Amazon Linux 2

Non programmato

Non programmato

Non programmato

Python 3.10

python3.10

Amazon Linux 2

Non programmato

Non programmato

Non programmato

Python 3.9

python3.9

Amazon Linux 2

Non programmato

Non programmato

Non programmato

Python 3.8

python3.8

Amazon Linux 2

14 ottobre 2024

28 febbraio 2025

31 marzo 2025

Java 21

java21

Amazon Linux 2023

Non programmato

Non programmato

Non programmato

Java 17

java17

Amazon Linux 2

Non programmato

Non programmato

Non programmato

Java 11

java11

Amazon Linux 2

Non programmato

Non programmato

Non programmato

Java 8

java8.al2

Amazon Linux 2

Non programmato

Non programmato

Non programmato

. NET8

dotnet8

Amazon Linux 2023

Non programmato

Non programmato

Non programmato

. NET6

dotnet6

Amazon Linux 2

20 dicembre 2024

28 febbraio 2025

31 marzo 2025

Rubino 3.3

ruby3.3

Amazon Linux 2023

Non programmato

Non programmato

Non programmato

Ruby 3.2

ruby3.2

Amazon Linux 2

Non programmato

Non programmato

Non programmato

Runtime solo per il sistema operativo

provided.al2023

Amazon Linux 2023

Non programmato

Non programmato

Non programmato

Runtime solo per il sistema operativo

provided.al2

Amazon Linux 2

Non programmato

Non programmato

Non programmato

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 Compute AWS .

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 linguistiche solo quando la versione raggiunge la fase di supporto a lungo termine (LTS) del ciclo di rilascio della lingua. Ad esempio, per il ciclo di rilascio di Node.js, quando il rilascio raggiunge la fase attivaLTS.

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 versioni linguistiche il cui rilascio non è pianificato. LTS

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

  • 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 a lungo termine della community (LTS) e gli aggiornamenti di sicurezza non sono più disponibili. Nella maggior parte dei casi, si tratta del runtime del linguaggio, anche se in alcuni casi un runtime può essere considerato obsoleto perché il sistema operativo (OS) raggiunge la fine di. LTS

Dopo che un runtime è diventato obsoleto, non AWS possono più applicare patch o aggiornamenti di sicurezza a quel runtime e le funzioni che utilizzano quel runtime non sono più idonee per il supporto tecnico. Tali runtime obsoleti vengono forniti «così come sono», senza alcuna garanzia e possono contenere bug, errori, difetti o altre vulnerabilità.

Per ulteriori informazioni sulla gestione degli aggiornamenti di runtime e sulla obsolescenza, consulta le seguenti sezioni e la 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.

Modello di responsabilità condivisa

Lambda è responsabile della cura e della pubblicazione degli aggiornamenti di sicurezza per tutti i runtime gestiti e le immagini di base dei container supportati. Per impostazione predefinita, Lambda applicherà automaticamente questi aggiornamenti alle funzioni che utilizzano runtime gestiti. Se l'impostazione predefinita per l'aggiornamento automatico del runtime è stata modificata, consulta il modello di responsabilità condivisa dei controlli di gestione del runtime. Per le funzioni distribuite utilizzando immagini del contenitore, sei responsabile della ricostruzione dell'immagine del contenitore della funzione dall'immagine di base più recente e della ridistribuzione dell'immagine del contenitore.

Quando un runtime è obsoleto, la responsabilità di Lambda per l'aggiornamento del runtime gestito e delle immagini di base del contenitore cessa. L'utente è responsabile dell'aggiornamento delle funzioni per utilizzare un runtime o un'immagine di base supportata.

In tutti i casi, l'utente è responsabile dell'applicazione degli aggiornamenti al codice della funzione, comprese le sue dipendenze. Le vostre responsabilità nell'ambito del modello di responsabilità condivisa sono riassunte nella tabella seguente.

Fase del ciclo di vita di runtime Responsabilità di Lambda Le tue responsabilità
Runtime gestito supportato

Fornisci aggiornamenti di runtime regolari con patch di sicurezza e altri aggiornamenti.

Applica automaticamente gli aggiornamenti di runtime per impostazione predefinita (vedi Modalità di aggiornamento in fase di esecuzione per i comportamenti non predefiniti).

Aggiorna il codice della funzione, comprese le dipendenze, per risolvere eventuali vulnerabilità di sicurezza.
Immagine del contenitore supportata Fornisci aggiornamenti regolari all'immagine di base del contenitore con patch di sicurezza e altri aggiornamenti.

Aggiorna il codice della funzione, comprese le dipendenze, per risolvere eventuali vulnerabilità di sicurezza.

Ricostruisci e ridistribuisci regolarmente l'immagine del contenitore utilizzando l'immagine di base più recente.

Runtime gestito prossimo alla deprecazione

Avvisate i clienti prima che il runtime diventi obsoleto tramite documentazione, e-mail e. AWS Health Dashboard Trusted Advisor

La responsabilità per gli aggiornamenti in fase di esecuzione termina quando diventa obsoleta.

Monitora la documentazione di Lambda AWS Health Dashboard, la posta elettronica o le informazioni sull'obsolescenza in fase Trusted Advisor di esecuzione.

Aggiorna le funzioni a un runtime supportato prima che il runtime precedente diventi obsoleto.

L'immagine del contenitore sta per diventare obsoleta

Le notifiche di obsolescenza non sono disponibili per le funzioni che utilizzano immagini del contenitore.

La responsabilità per gli aggiornamenti delle immagini di base del contenitore termina quando diventa obsoleta.

Fai attenzione alle pianificazioni di obsolescenza e alle funzioni di aggiornamento a un'immagine di base supportata prima che l'immagine precedente diventi obsoleta.

Utilizzo in fase di esecuzione dopo la deprecazione

Dopo che un runtime è diventato obsoleto, non AWS possono più applicare patch o aggiornamenti di sicurezza a quel runtime e le funzioni che utilizzano quel runtime non sono più idonee al supporto tecnico. Tali runtime obsoleti vengono forniti «così come sono», senza alcuna garanzia e possono contenere bug, errori, difetti o altre vulnerabilità. Le funzioni che utilizzano un runtime obsoleto possono inoltre presentare un peggioramento delle prestazioni o altri problemi, come la scadenza del certificato, che possono causare il loro malfunzionamento.

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 che un runtime è diventato obsoleto, puoi comunque aggiornare il codice e la configurazione della funzione per le funzioni esistenti. A partire da 60 giorni dopo la deprecazione, Lambda inizia a bloccare l'aggiornamento del codice della funzione e della configurazione per le funzioni esistenti.

Nota

Per alcuni runtime, AWS posticipa block-function-update le date di fine oltre i normali 30 block-function-create e 60 giorni dopo la deprecazione. AWS ha apportato questa modifica in risposta al feedback dei clienti per darti più tempo per aggiornare le tue funzioni. Fai riferimento alle tabelle riportate in Runtime supportati e Runtime obsoleti per vedere le date di esecuzione.

È possibile aggiornare una funzione per utilizzare un runtime più recente supportato all'infinito dopo che un runtime è diventato obsoleto. È necessario verificare che la funzione funzioni con il nuovo runtime prima di applicare la modifica del runtime negli ambienti di produzione, poiché non sarà possibile tornare al runtime obsoleto una volta trascorso il periodo di 60 giorni. Consigliamo di utilizzare versioni e alias delle funzioni per consentire una distribuzione sicura con rollback.

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.

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 LATEST versioni $ di tutte le funzioni che utilizzano il runtime. Per visualizzare un elenco completo delle versioni delle funzioni interessate, usa Trusted Advisor o vediRecupera dati sulle funzioni Lambda che utilizzano un runtime obsoleto.

    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 LATEST versioni $ 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 seeRecupera dati sulle funzioni Lambda che utilizzano un runtime obsoleto.

    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 $ che le versioni pubblicate LATEST e si aggiorna automaticamente per riflettere lo stato attuale delle funzioni.

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

Runtime obsoleti

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

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

Node.js 16

nodejs16.x

Amazon Linux 2

12 giugno 2024

28 febbraio 2025

31 marzo 2025

. NET7 (solo contenitore)

dotnet7

Amazon Linux 2

14 maggio 2024

N/D

N/D

Java 8

java8

Amazon Linux

8 gennaio 2024

8 febbraio 2024

28 febbraio 2025

Go 1.x

go1.x

Amazon Linux

8 gennaio 2024

8 febbraio 2024

28 febbraio 2025

Runtime solo per il sistema operativo

provided

Amazon Linux

8 gennaio 2024

8 febbraio 2024

28 febbraio 2025

Ruby 2.7

ruby2.7

Amazon Linux 2

7 dicembre 2023

9 gennaio 2024

28 febbraio 2025

Node.js 14

nodejs14.x

Amazon Linux 2

4 dicembre 2023

9 gennaio 2024

28 febbraio 2025

Python 3.7

python3.7

Amazon Linux

4 dicembre 2023

9 gennaio 2024

28 febbraio 2025

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

. NET5 (solo contenitore)

dotnet5.0

Amazon Linux 2

10 maggio 2022

N/D

N/D

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

N/D

6 marzo 2020

Node.js 4.3

nodejs4.3

Amazon Linux

5 marzo 2020

N/D

5 marzo 2020

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux

5 marzo 2020

N/D

30 aprile 2019

Node.js 6.10

nodejs6.10

Amazon Linux

12 agosto 2019

12 agosto 2019

N/D

. NETNucleo 1.0

dotnetcore1.0

Amazon Linux

27 giugno 2019

N/D

30 luglio 2019

. NETNucleo 2.0

dotnetcore2.0

Amazon Linux

30 maggio 2019

N/D

30 maggio 2019

Node.js 0.10

nodejs

Amazon Linux

N/D

N/D

31 ottobre 2016

Nella quasi totalità dei 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