aws:invokeLambdaFunction - AWS Lambda 함수 호출 - AWS Systems Manager

aws:invokeLambdaFunction - AWS Lambda 함수 호출

지정된 AWS Lambda 함수를 호출합니다.

참고

aws:invokeLambdaFunction 작업은 최대 300초(5분)까지 실행할 수 있습니다. aws:invokeLambdaFunction 단계에서 timeoutSeconds 파라미터를 지정하여 시간 제한을 제한할 수 있습니다.

Input

이 작업은 Lambda 서비스에 대한 대부분의 호출된 파라미터를 지원합니다. 자세한 내용은 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

Lambda 함수의 이름입니다. 이 함수가 존재해야 합니다.

유형: 문자열

필수 항목 여부: 예

Qualifier

함수 버전 또는 별칭 이름.

유형: 문자열

필수 항목 여부: 아니요

InvocationType

호출 유형. 기본 값은 RequestResponse입니다.

유형: 문자열

유효한 값: Event | RequestResponse | DryRun

필수 항목 여부: 아니요

LogType

기본값이 Tail인 경우 호출 유형은 RequestResponse여야 합니다. Lambda는 base64로 인코딩된 Lambda 함수에 의해 생성된 로그 데이터의 마지막 4KB를 반환합니다.

유형: 문자열

유효한 값: None | Tail

필수 항목 여부: 아니요

ClientContext

클라이언트 지정 정보.

필수 항목 여부: 아니요

InputPayload

핸들러의 첫 번째 파라미터로 전달되는 YAML 또는 JSON 객체입니다. 이 입력을 사용하여 함수에 데이터를 전달할 수 있습니다. 이 입력은 기존 Payload 입력보다 더 많은 유연성과 지원을 제공합니다. 작업에 대해 InputPayloadPayload를 모두 정의하는 경우 InputPayload가 우선하며 Payload 값은 사용되지 않습니다.

유형: StringMap

필수 항목 여부: 아니요

페이로드

핸들러의 첫 번째 파라미터에 전달되는 JSON 문자열입니다. 함수에 입력 데이터를 전달하는 데 사용할 수 있습니다. 추가된 기능에는 InputPayload 입력을 사용하는 것이 좋습니다.

유형: 문자열

필수 항목 여부: 아니요

출력
StatusCode

HTTP 상태 코드.

FunctionError

존재하는 경우 함수 실행 중에 오류가 발생했음을 나타냅니다. 오류에 대한 세부 정보가 응답 페이로드에 포함됩니다.

LogResult

Lambda 함수 호출에 대한 base64 인코딩 로그입니다. 로그는 호출 유형이 RequestResponse이고 로그가 요청된 경우에만 표시됩니다.

페이로드

Lambda 함수에서 반환된 객체의 JSON 표현입니다. 호출 유형이 RequestResponse인 경우에만 페이로드가 있습니다. 최대 200KB가 반환됩니다.

다음은 aws:invokeLambdaFunction 작업의 출력을 참조하는 방법을 보여주는 AWS-PatchInstanceWithRollback 실행서의 일부입니다.

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" } } }