aws:invokeLambdaFunction – Invoca uma função do AWS Lambda - AWS Systems Manager

aws:invokeLambdaFunction – Invoca uma função do AWS Lambda

Chama a função do AWS Lambda especificada.

nota

Cada ação aws:invokeLambdaFunction pode ser executada por uma duração máxima de cinco minutos (300 segundos). Você pode limitar o tempo limite especificando o parâmetro timeoutSeconds para uma etapa aws:invokeLambdaFunction.

Entrada

Essa ação oferece suporte para a maioria dos parâmetros invocados do serviço Lambda. Para obter mais informações, 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

O nome da função do Lambda. Essa função deve existir.

Tipo: string

Obrigatório: Sim

Qualificador

A versão da função ou nome do alias.

Tipo: string

Obrigatório: Não

InvocationType

O tipo de invocação. O valor padrão é RequestResponse.

Tipo: string

Valores válidos: Event | RequestResponse | DryRun

Obrigatório: Não

LogType

Se o valor padrão for Tail, o tipo de invocação deverá ser RequestResponse. O Lambda retorna os últimos 4 KB de dados de log produzidos pela sua função Lambda, codificados em base64.

Tipo: string

Valores válidos: None | Tail

Obrigatório: Não

ClientContext

As informações específicas do cliente.

Obrigatório: Não

InputPayload

Um objeto JSON ou YAML que será transmitido para o primeiro parâmetro do manipulador. É possível usar essa entrada a fim de transmitir dados para a função. Essa entrada fornece mais flexibilidade e suporte do que a entrada Payload legada. Se você definir InputPayload e Payload para a ação, InputPayload tem precedência e o valor Payload não será usado.

Tipo: StringMap

Obrigatório: Não

Carga útil

Uma string JSON que é transmitida para o primeiro parâmetro do manipulador. É possível usá-la a fim de transmitir dados de entrada para a função. Recomendamos usar a entrada InputPayload para funcionalidade adicional.

Tipo: string

Obrigatório: Não

Saída
StatusCode

Código de status do HTTP

FunctionError

Se presente, ele indica que ocorreu um erro durante a execução da função. Os detalhes do erro estão incluídos na carga útil da resposta.

LogResult

Os logs codificados pelo base64 para a invocação da função Lambda. Os logs estarão presentes apenas se o tipo de invocação for RequestResponse e se tiverem sido solicitados.

Carga útil

A representação JSON do objeto retornado pela função Lambda. A carga útil estará presente apenas se o tipo de invocação for RequestResponse. Até 200 KB é retornado

A seguir é mostrada uma parte do runbook AWS-PatchInstanceWithRollback que demonstra como fazer referência a saídas da ação 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" } } }