View a markdown version of this page

Stati funzione 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à.

Stati funzione Lambda

Lambda include un campo State nella configurazione della funzione per tutte le funzioni per indicare quando la funzione è pronta per essere richiamata. Statefornisce informazioni sullo stato corrente della funzione, incluso se è possibile richiamarla correttamente. Gli stati della funzione non modificano il comportamento delle chiamate della funzione o il modo in cui la funzione esegue il codice.

Nota

Le definizioni dello stato delle funzioni differiscono leggermente per SnapStart le funzioni. Per ulteriori informazioni, consulta Lambda SnapStart e stati delle funzioni.

In molti casi, una tabella DynamoDB è il modo ideale per mantenere lo stato tra una chiamata e l'altra, poiché fornisce un accesso ai dati a bassa latenza e può essere scalata con il servizio Lambda. Puoi anche archiviare i dati in Amazon EFS for Lambda se utilizzi questo servizio, che fornisce un accesso a bassa latenza allo storage del file system.

Gli stati delle funzioni includono:

  • Pending – Dopo che Lambda ha creato la funzione, imposta lo stato su sospeso. Mentre lo stato è in sospeso, Lambda tenta di creare o configurare le risorse per la funzione, ad esempio le risorse VPC o EFS. Lambda non richiama una funzione durante lo stato in sospeso. Qualsiasi chiamata o altra azione API che opera sulla funzione ha esito negativo.

  • Active – La funzione passa allo stato attivo dopo che Lambda ha completato la configurazione e il provisioning delle risorse. Le funzioni possono essere richiamate correttamente solo quando sono attive.

  • Failed – Indica che la configurazione o il provisioning delle risorse ha riscontrato un errore. Quando la creazione della funzione fallisce, Lambda imposta lo stato della funzione su Fallita ed è necessario eliminare e ricreare la funzione.

  • Inactive – Una funzione diventa inattiva quando è stata inattiva abbastanza a lungo perché Lambda recuperi le risorse esterne configurate per essa. Quando si tenta di richiamare una funzione che è inattiva, la chiamata non riesce e Lambda imposta la funzione sullo stato in sospeso fino a quando le risorse della funzione non vengono ricreate. Se Lambda non riesce a ricreare le risorse, la funzione viene reimpostata sullo stato inattivo. Potrebbe essere necessario risolvere eventuali errori e ridistribuire la funzione per ripristinarla allo stato attivo.

    Una funzione passa Inactive allo stato anche se Lambda perde l'accesso all'artefatto sorgente della funzione. Ciò si applica alle funzioni di immagine del contenitore in cui l'immagine viene eliminata da Amazon ECR o le autorizzazioni vengono revocate e alle funzioni .zip che utilizzano l'archiviazione di codice S3 autogestita in cui l'oggetto sorgente viene eliminato o le autorizzazioni della policy del bucket vengono revocate. Per ripristinare la funzione, ripristina l'accesso all'artefatto sorgente e aggiorna la funzione.

Se utilizzi flussi di lavoro di SDK-based automazione o chiami direttamente le API di servizio di Lambda, assicurati di controllare lo stato di una funzione prima dell'invocazione per verificare che sia attiva. Puoi farlo con l'azione GetFunction Lambda API o configurando un cameriere utilizzando l'SDK per Java 2.0. AWS

aws lambda get-function --function-name my-function --query 'Configuration.[State, LastUpdateStatus]'

Verrà visualizzato l’output seguente:

[
 "Active",
 "Successful" 
]

Le operazioni seguenti non riescono mentre la creazione della funzione è in attesa:

Stati delle funzioni durante gli aggiornamenti

Lambda ha due operazioni per l'aggiornamento delle funzioni:

Lambda utilizza l'LastUpdateStatusattributo per tracciare l'avanzamento di queste operazioni di aggiornamento. Mentre è in corso un aggiornamento (quando"LastUpdateStatus": "InProgress"):

Quando un aggiornamento fallisce (quando"LastUpdateStatus": "Failed"):

  • Lo stato della funzione rimaneActive.

  • Le chiamate continuano a utilizzare il codice e la configurazione precedenti della funzione.

Esempio GetFunctionConfiguration risposta

L'esempio seguente è il risultato di una GetFunctionConfiguration richiesta su una funzione in fase di aggiornamento.

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function", "Runtime": "nodejs24.x", "VpcConfig": { "SubnetIds": [ "subnet-071f712345678e7c8", "subnet-07fd123456788a036", "subnet-0804f77612345cacf" ], "SecurityGroupIds": [ "sg-085912345678492fb" ], "VpcId": "vpc-08e1234569e011e83" }, "State": "Active", "LastUpdateStatus": "InProgress", ... }