Runtime supportati per funzioni durevoli - 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 supportati per funzioni durevoli

Sono disponibili funzioni durevoli per i runtime di Node.js e Python. Puoi creare funzioni durevoli utilizzando runtime gestiti nella console Lambda o distribuirle utilizzando immagini dei container per una maggiore flessibilità della versione di runtime.

Runtime gestiti da Lambda

I seguenti runtime gestiti supportano funzioni durevoli quando si creano funzioni nella console Lambda o si utilizza AWS CLI il parametro con --durable-config '{"ExecutionTimeout": 10, "RetentionPeriodInDays":1}' il parametro. Per informazioni complete sui runtime Lambda, consulta Lambda runtimes.

Lingua Runtime
Node.js nodejs 22.x
Node.js nodejs24.x
Python python 3.13
Python python3.14
Nota

I runtime Lambda includono l'SDK di esecuzione durevole per test e sviluppo. Tuttavia, consigliamo di includere l'SDK nel pacchetto di distribuzione per la produzione. Ciò garantisce la coerenza delle versioni ed evita potenziali aggiornamenti di runtime che potrebbero influire sul comportamento delle funzioni.

Node.js

Installa l'SDK nel tuo progetto Node.js:

npm install @aws/durable-execution-sdk-js

L'SDK supporta JavaScript e. TypeScript Per TypeScript i progetti, l'SDK include definizioni dei tipi.

Python

Installa l'SDK nel tuo progetto Python:

pip install aws-durable-execution-sdk-python

L'SDK Python utilizza metodi sincroni e non richiede. async/await

Immagini di container

È possibile utilizzare funzioni durevoli con immagini dei contenitori per supportare versioni di runtime aggiuntive o configurazioni di runtime personalizzate. Le immagini dei container consentono di utilizzare versioni di runtime non disponibili come runtime gestiti o di personalizzare l'ambiente di runtime.

Per creare una funzione durevole utilizzando un'immagine del contenitore:

  1. Crea un Dockerfile basato su un'immagine di base Lambda

  2. Installa l'SDK di esecuzione durevole nel tuo contenitore

  3. Crea e invia l'immagine del contenitore ad Amazon Elastic Container Registry

  4. Crea la funzione Lambda dall'immagine del contenitore con l'esecuzione durevole abilitata

Esempio di contenitore Python

Crea un Dockerfile per Python 3.11:

FROM public.ecr.aws/lambda/python:3.11 # Copy requirements file COPY requirements.txt ${LAMBDA_TASK_ROOT}/ # Install dependencies including durable SDK RUN pip install -r requirements.txt # Copy function code COPY lambda_function.py ${LAMBDA_TASK_ROOT}/ # Set the handler CMD [ "lambda_function.handler" ]

Crea un file: requirements.txt

aws-durable-execution-sdk-python

Crea e invia l'immagine:

# Build the image docker build -t my-durable-function . # Tag for ECR docker tag my-durable-function:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest # Push to ECR docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest

Crea la funzione con l'esecuzione duratura abilitata:

aws lambda create-function \ --function-name myDurableFunction \ --package-type Image \ --code ImageUri=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest \ --role arn:aws:iam::123456789012:role/lambda-execution-role \ --durable-config '{"ExecutionTimeout": 10, "RetentionPeriodInDays":1}'

Per ulteriori informazioni sull'utilizzo delle immagini dei container con Lambda, consulta Creazione di immagini di container Lambda nella Lambda Developer Guide.

Considerazioni sul runtime

Gestione delle versioni SDK: includi l'SDK di esecuzione durevole nel pacchetto di distribuzione o nell'immagine del contenitore. Ciò garantisce che la funzione utilizzi una versione SDK specifica e non sia influenzata dagli aggiornamenti di runtime. Aggiungi le versioni SDK a package.json o requirements.txt per controllare quando esegui l'aggiornamento.

Aggiornamenti in fase di esecuzione: AWS aggiorna i runtime gestiti per includere patch di sicurezza e correzioni di bug. Questi aggiornamenti possono includere nuove versioni dell'SDK. Per evitare comportamenti imprevisti, includi l'SDK nel pacchetto di distribuzione e testalo accuratamente prima di distribuirlo in produzione.

Dimensioni dell'immagine del contenitore: le immagini dei contenitori hanno una dimensione massima non compressa di 10 GB. L'SDK di esecuzione durevole aggiunge dimensioni minime all'immagine. Ottimizza il tuo contenitore utilizzando build in più fasi e rimuovendo le dipendenze non necessarie.

Prestazioni di avvio a freddo: le immagini dei container possono avere tempi di avvio a freddo più lunghi rispetto ai runtime gestiti. L'SDK di esecuzione durevole ha un impatto minimo sulle prestazioni di avvio a freddo. Utilizza la concorrenza fornita se la latenza di avvio a freddo è fondamentale per la tua applicazione.