Invocare una funzione Lambda in modo asincrono - 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à.

Invocare una funzione Lambda in modo asincrono

Molti Servizi AWS, come Amazon Simple Storage Service (Amazon S3) e Amazon Simple Notification Service (SNSAmazon), richiamano le funzioni in modo asincrono per elaborare gli eventi. Puoi anche richiamare una funzione Lambda in modo asincrono utilizzando AWS CLI() o uno AWS Command Line Interface dei. AWS SDKs Quando si richiama una funzione in modo asincrono, non si attende una risposta dal codice della funzione. Si passa l'evento a Lambda e Lambda si occupa del resto. Puoi configurare il modo in cui Lambda gestisce gli errori e inviare i record di chiamata a una risorsa downstream come Amazon Simple Queue Service (Amazon) SQS o Amazon EventBridge (EventBridge) per concatenare i componenti della tua applicazione.

Il seguente diagramma mostra i client che richiamano una funzione Lambda in modo asincrono. Lambda accoda gli eventi prima di inviarli alla funzione.

I client invocano una funzione in modo asincrono. Lambda mette in coda gli eventi prima di inviarli alla funzione

Per l'invocazione asincrona, Lambda inserisce l'evento in una coda e restituisce una risposta di esito positivo senza ulteriori informazioni. Un processo separato legge gli eventi dalla coda ed esegue la funzione.

Per richiamare una funzione Lambda in modo asincrono utilizzando AWS Command Line Interface AWS CLI() o una delle, imposta AWS SDKs il parametro su. InvocationTypeEvent L'esempio seguente mostra un AWS CLI comando per richiamare una funzione.

aws lambda invoke \ --function-name my-function \ --invocation-type Event \ --cli-binary-format raw-in-base64-out \ --payload '{ "key": "value" }' response.json

Verrà visualizzato l'output seguente:

{ "StatusCode": 202 }

L'cli-binary-formatopzione è obbligatoria se si utilizza la AWS CLI versione 2. Per rendere questa impostazione come predefinita, esegui aws configure set cli-binary-format raw-in-base64-out. Per ulteriori informazioni, consulta la pagina AWS CLI supported global command line options nella Guida per l'utente di AWS Command Line Interface versione 2.

Il file di output (response.json) non contiene informazioni, ma è comunque creato quando si esegue il comando. Se Lambda non è in grado di aggiungere l'evento alla coda, il messaggio di errore viene visualizzato nell'output del comando.