View a markdown version of this page

Stati della funzione evento 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 della funzione evento Lambda

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

Nota

Le definizioni degli stati delle funzioni degli eventi differiscono leggermente per SnapStartle funzioni. Per ulteriori informazioni, consulta Stati Lambda SnapStart e Event Function.

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

Gli stati di Event Function 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 di evento possono essere richiamate con successo 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 Fallito 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 allo Inactive stato anche se Lambda perde l'accesso all'artefatto di origine 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 lo storage di codice S3 autogestito in cui l'oggetto di origine viene eliminato o le autorizzazioni della bucket policy vengono revocate. Per ripristinare la funzione, ripristina l'accesso all'artefatto di origine 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 della chiamata per verificare che sia attiva. Puoi farlo con l'azione GetFunctionAPI Lambda o configurando un cameriere utilizzando l'SDK for AWS Java 2.0.

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 di Event Function durante gli aggiornamenti

Lambda prevede due operazioni per l'aggiornamento delle funzioni degli eventi:

Lambda utilizza l'LastUpdateStatusattributo per tenere traccia dell'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 della GetFunctionConfigurationrichiesta di 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", ... }