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à.
Puoi eseguire il codice Python in AWS Lambda. Lambda fornisce Runtime per Python che eseguono il tuo codice per elaborare gli eventi. Il codice viene eseguito in un ambiente che include l'SDK for Python (Boto3), con le credenziali AWS Identity and Access Management di un ruolo (IAM) che gestisci. Per ulteriori informazioni sulle versioni SDK incluse nei runtime Python, consulta Versioni SDK incluse nel runtime.
Lambda supporta i seguenti runtime di Python.
Nome | Identificatore | Sistema operativo | Data di ritiro | Blocco creazione funzioni | Blocco aggiornamento funzioni |
---|---|---|---|---|---|
Python 3.13 |
|
Amazon Linux 2023 |
30 giugno 2029 |
31 luglio 2029 |
31 agosto 2029 |
Python 3.12 |
|
Amazon Linux 2023 |
31 ottobre 2028 |
30 novembre 2028 |
10 gennaio 2029 |
Python 3.11 |
|
Amazon Linux 2 |
30 giugno 2026 |
31 luglio 2026 |
31 agosto 2026 |
Python 3.10 |
|
Amazon Linux 2 |
30 giugno 2026 |
31 luglio 2026 |
31 agosto 2026 |
Python 3.9 |
|
Amazon Linux 2 |
3 novembre 2025 |
8 dicembre 2025 |
8 gennaio 2026 |
Per creare una funzione Python
-
Aprire la console Lambda
. -
Scegli Crea funzione.
-
Configurare le impostazioni seguenti:
-
Nome della funzione: inserisci il nome della funzione.
-
Runtime: scegli Python 3.13.
-
-
Scegli Crea funzione.
La console crea una funzione Lambda con un singolo file di origine denominato lambda_function
. È possibile modificare questo file e aggiungere altri file nell'editor di codice predefinito. Nella sezione DEPLOY, scegli Implementa per aggiornare il codice della tua funzione. Quindi, per eseguire il codice, scegli Crea evento di test nella sezione EVENTI DI TEST.
La funzione Lambda include un gruppo di CloudWatch log Logs. Il runtime della funzione invia i dettagli su ogni chiamata a Logs. CloudWatch Si trasmette qualsiasi log che la tua funzione emette durante la chiamata. Se la funzione restituisce un errore, Lambda formatta l'errore e lo restituisce al chiamante.
Argomenti
Versioni SDK incluse nel runtime
La versione dell' AWS SDK inclusa nel runtime di Python dipende dalla versione di runtime e dalla tua. Regione AWS Per trovare la versione dell'SDK incluso nel runtime che stai utilizzando, crea una funzione Lambda con il codice seguente.
import boto3
import botocore
def lambda_handler(event, context):
print(f'boto3 version: {boto3.__version__}')
print(f'botocore version: {botocore.__version__}')
Funzionalità sperimentali in Python 3.13
Il runtime gestito da Python 3.13 e le immagini di base non supportano le seguenti funzionalità sperimentali. Non è possibile abilitare queste funzionalità utilizzando i flag di runtime. Per utilizzare queste funzionalità in una funzione Lambda, devi implementare un'immagine di runtime o un'immagine di container personalizzata contenente la tua build di Python 3.13.
-
Free-threaded CPython
: non è possibile disabilitare il blocco globale dell'interprete. -
Just-in-time Compilatore (JIT): non è possibile abilitare il compilatore JIT
.
Formato della risposta
Nei runtime Python 3.12 e successivi, le funzioni restituiscono caratteri Unicode come parte della loro risposta JSON. I runtime Python precedenti restituivano sequenze con escape per i caratteri Unicode nelle risposte. Ad esempio, in Python 3.11, se restituisci una stringa Unicode come»こんにちは«, sfugge ai caratteri Unicode e restituisce «\ u3053\ u3093\ u306b\ u3061\ u306f». Il runtime di Python 3.12 restituisce l'originale»こんにちは".
L'utilizzo delle risposte Unicode riduce le dimensioni delle risposte Lambda e ciò facilita l'inserimento di risposte più grandi nella dimensione del payload massima di 6 MB per le funzioni sincrone. Nell'esempio precedente, la versione con escape è di 32 byte, rispetto ai 17 della stringa Unicode.
Quando esegui l'aggiornamento a Python 3.12 o a runtime Python successivi, potrebbe essere necessario modificare il codice tenendo conto del nuovo formato di risposta. Se il chiamante prevede un codice Unicode con escape, devi aggiungere manualmente il codice alla funzione restituita per eseguire l'escape dell'Unicode o regolare il chiamante per gestire la restituzione dell'Unicode.
Chiusura graduale per le estensioni
I runtime Python 3.12 e versioni successive offrono funzionalità di arresto graduale migliorate per funzioni con estensioni esterne. Quando chiude un ambiente di esecuzione, Lambda invia un segnale SIGTERM
al runtime e quindi un evento SHUTDOWN
a ogni estensione esterna registrata. È possibile catturare il segnale SIGTERM
nella funzione Lambda e ripulire risorse come le connessioni al database create dalla funzione.
Per ulteriori informazioni sul ciclo di vita dell'ambiente di esecuzione, consulta Comprendere il ciclo di vita dell'ambiente di esecuzione Lambda. Per esempi di come utilizzare Graceful Shutdown con le estensioni, consulta il repository Samples.AWS GitHub