aws:invokeLambdaFunction: chiamata di una funzione AWS Lambda - AWS Systems Manager

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

aws:invokeLambdaFunction: chiamata di una funzione AWS Lambda

Richiama la funzione AWS Lambda specificata.

Nota

Ogni operazione aws:invokeLambdaFunction può durare al massimo 300 secondi (5 minuti). Puoi limitare il timeout specificando il parametro timeoutSeconds per una fase aws:invokeLambdaFunction.

Input

Questa operazione supporta la maggior parte dei parametri richiamati per il servizio Lambda. Per ulteriori informazioni, consulta Invoke (Chiamata).

YAML
name: invokeMyLambdaFunction action: aws:invokeLambdaFunction maxAttempts: 3 timeoutSeconds: 120 onFailure: Abort inputs: FunctionName: MyLambdaFunction
JSON
{ "name": "invokeMyLambdaFunction", "action": "aws:invokeLambdaFunction", "maxAttempts": 3, "timeoutSeconds": 120, "onFailure": "Abort", "inputs": { "FunctionName": "MyLambdaFunction" } }
FunctionName

Il nome della funzione Lambda. Questa funzione deve esistere.

Tipo: string

Campo obbligatorio: sì

Qualificatore

Versione o nome alias della funzione.

Tipo: string

Campo obbligatorio: no

InvocationType

Tipi di chiamata. Il valore di default è RequestResponse.

Tipo: string

Valori validi: Event | RequestResponse | DryRun

Campo obbligatorio: no

LogType

Se il valore predefinito è Tail, il tipo di chiamata deve essere RequestResponse. Lambda restituisce gli ultimi 4 KB di dati di log prodotti dalla funzione Lambda, con codifica base64

Tipo: string

Valori validi: None | Tail

Campo obbligatorio: no

ClientContext

Informazioni specifiche del client.

Campo obbligatorio: no

InputPayload

Un oggetto YAML o JSON che viene passato al primo parametro del gestore. Questo input può essere utilizzato per passare i dati alla funzione. Questo input offre maggiore flessibilità e supporto rispetto all'input Payload legacy. Se vengono definiti sia InputPayload che Payload per l'operazione, InputPayload ha la precedenza e il valore Payload non viene utilizzato.

Tipo: StringMap

Campo obbligatorio: no

Payload

Una stringa JSON che viene passata al primo parametro del gestore. Questo può essere utilizzato per passare i dati di input alla funzione. Consigliamo di utilizzare l'input InputPayload per funzionalità aggiuntive.

Tipo: string

Campo obbligatorio: no

Output
StatusCode

Codice di stato HTTP.

FunctionError

Se presente, indica che si è verificato un errore durante l'esecuzione della funzione. I dettagli sull'errore sono inclusi nel payload di risposta.

LogResult

I log di codifica base64 per la chiamata della funzione Lambda. I log sono presenti solo se il tipo di chiamata è RequestResponse e sono stati richiesti i log.

Payload

Rappresentazione JSON dell'oggetto restituito dalla funzione Lambda. Il payload è presente solo se il tipo di chiamata è RequestResponse. Vengono restituiti fino a 200 KB

Di seguito è riportata una parte del runbook AWS-PatchInstanceWithRollback che dimostra come fare riferimento agli output dall'operazione aws:invokeLambdaFunction.

YAML
- name: IdentifyRootVolume action: aws:invokeLambdaFunction inputs: FunctionName: "IdentifyRootVolumeLambda-{{automation:EXECUTION_ID}}" Payload: '{"InstanceId": "{{InstanceId}}"}' - name: PrePatchSnapshot action: aws:executeAutomation inputs: DocumentName: "AWS-CreateSnapshot" RuntimeParameters: VolumeId: "{{IdentifyRootVolume.Payload}}" Description: "ApplyPatchBaseline restoration case contingency"
JSON
{ "name": "IdentifyRootVolume", "action": "aws:invokeLambdaFunction", "inputs": { "FunctionName": "IdentifyRootVolumeLambda-{{automation:EXECUTION_ID}}", "Payload": "{\"InstanceId\": \"{{InstanceId}}\"}" } }, { "name": "PrePatchSnapshot", "action": "aws:executeAutomation", "inputs": { "DocumentName": "AWS-CreateSnapshot", "RuntimeParameters": { "VolumeId": "{{IdentifyRootVolume.Payload}}", "Description": "ApplyPatchBaseline restoration case contingency" } } }