aws:invokeLambdaFunction: invocar una función de AWS Lambda - AWS Systems Manager

aws:invokeLambdaFunction: invocar una función de AWS Lambda

Invoca la función de AWS Lambda especificada.

nota

Cada acción aws:invokeLambdaFunction puede ejecutarse hasta un máximo de 300 segundos (5 minutos). Puede limitar el tiempo de espera mediante la especificación del parámetro timeoutSeconds para un paso aws:invokeLambdaFunction.

Entrada

Esta acción admite la mayoría de los parámetros invocados del servicio Lambda. Para obtener más información, consulte Invoke.

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

El nombre de la función de Lambda. Esta función debe existir.

Tipo: cadena

Obligatorio: sí

Qualifier

La versión de función o nombre de alias.

Tipo: cadena

Requerido: no

InvocationType

El tipo de invocación. El valor predeterminado es RequestResponse.

Tipo: cadena

Valores válidos: Event| RequestResponse| DryRun

Requerido: no

LogType

Si el valor predeterminado es Tail, el tipo de invocación debe ser RequestResponse. Lambda devuelve los últimos 4 KB de datos de registro generados por la función de Lambda, con codificación Base64.

Tipo: cadena

Valores válidos: None | Tail

Requerido: no

ClientContext

La información específica del cliente.

Requerido: no

InputPayload

Un objeto JSON o YAML que se pasará al primer parámetro del controlador. Puede utilizar esta entrada para transferir datos a la función. Esta entrada proporciona más flexibilidad y compatibilidad que la entrada de Payload heredada. Si define InputPayload y Payload para la acción, InputPayload tiene prioridad y el valor de Payload no se utiliza.

Tipo: StringMap

Requerido: no

Carga

Una cadena JSON que se pasará al primer parámetro del controlador. Puede utilizar estos datos de entrada para pasarlos a la función. Recomendamos utilizar la entrada de InputPayload para garantizar una mayor funcionalidad.

Tipo: cadena

Requerido: no

Salida
StatusCode

El código de estado HTTP.

FunctionError

Si está presente, indica que se ha producido un error durante la ejecución de la función. Se incluyen detalles sobre el error en la carga de la respuesta.

LogResult

Los registros con codificación Base64 para la invocación de la función de Lambda. Los registros están presentes solo si el tipo de invocación es RequestResponse y se han solicitado.

Carga

La representación JSON del objeto devuelto por la función de Lambda. Payload está presente solo si el tipo de invocación es RequestResponse. Se devuelven hasta 200 KB.

Lo que aparece a continuación es una parte del manual de procedimientos AWS-PatchInstanceWithRollback que muestra cómo hacer referencia a las salidas de la acción 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" } } }