AWS Lambda 확장 프로그램

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

<ph type="x-smartling-placeholder">

버전: 1.0.0

AWS Lambda에 배포된 함수를 실행합니다. 이 확장 프로그램을 사용하여 AWS 계정에서 사용 가능한 함수를 나열한 후 특정 함수를 호출합니다.

기본 요건

확장 문구 정책을 사용하여 API 프록시의 확장 프로그램을 사용하려면 먼저 다음 요건을 충족해야 합니다.

AWS Lambda 정보

AWS Lambda는 지원되는 언어 중 하나로 함수를 실행할 수 있는 컴퓨팅 환경을 제공합니다.

작업

<ph type="x-smartling-placeholder">

호출하기

AWS Lambda에서 함수를 호출합니다.

매개변수에 대한 자세한 내용은 AWS Lambda 호출 문서를 참조하세요.

구문

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "function-on-lambda",
  "invocationType" : "RequestResponse | Event | DryRun",
  "logType" : "None | Tail",
  "qualifier" : "Version-or-alias",
  "payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

요청 매개변수

매개변수에 대한 자세한 내용은 AWS Lambda 호출 문서를 참조하세요.

매개변수 설명 유형 기본값 필수
functionName 호출할 함수의 이름입니다. 문자열. 없음 예.
invocationType 함수를 동기식으로 호출할지, 비동기식으로 호출할지, 아니면 매개변수 값의 유효성을 검사할지 지정합니다. 문자열. 없음 아니요.
logType 원하는 경우 로그 데이터의 마지막 4KB를 반환할지 여부를 지정합니다. 문자열 없음 아니요.
한정자 게시된 람다 함수의 별칭 버전입니다. 문자열 없음 아니요.
payload 람다 함수에 대한 입력으로 JSON을 입력합니다. 문자열 없음 아니요.

응답

특정 버전 세부정보를 포함하는 함수의 배열입니다. 다음은 그 예시입니다.

{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}

응답 속성

속성 설명 유형 기본값
StatusCode HTTP 상태 코드 정수 없음
페이로드 함수에서 반환한 객체를 나타내는 JSON입니다. 호출 유형이 RequestResponse인 경우에만 존재합니다. 함수 오류의 경우 오류 설명 메시지가 포함됩니다. 문자열 없음

listFunctions

사용 가능한 AWS Lambda 함수를 나열합니다.

매개변수에 대한 자세한 내용은 AWS Lambda ListFunctions 문서를 참조하세요.

구문

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
  "functionVersion" : "ALL",
  "maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

요청 매개변수

매개변수에 대한 자세한 내용은 AWS Lambda ListFunctions 문서를 참조하세요.

매개변수 설명 유형 기본값 필수
masterRegion 함수를 나열해야 하는 리전 (예: us-east-2)입니다. ALL: 모든 리전의 함수를 포함합니다. 지정하면 functionVersion도 지정해야 합니다. 문자열 없음 아니요.
functionVersion 게시된 모든 버전을 나열하려면 ALL를 지정합니다. 지정하지 않으면 게시되지 않은 최신 버전의 ARN만 반환됩니다. 문자열 없음 아니요.
maxItems 응답으로 반환할 함수의 최대 개수입니다. 0보다 커야 합니다. 반환될 수 있는 절대 최댓값은 50입니다. 정수 없음 아니요.

응답

특정 버전 세부정보를 포함하는 함수 배열을 나타내는 JSON입니다.

[
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "$LATEST"
  },
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "1"
  }
]

응답 속성

속성 설명 유형 기본값
설명 함수에 대한 설명입니다. 문자열. 없음
Handler Lambda가 함수 실행을 시작하기 위해 호출하는 함수입니다. 문자열. 없음
FunctionArn 함수의 Amazon 리소스 이름입니다. 문자열. 없음
FunctionName 함수 이름입니다. 문자열. 없음
역할 함수의 실행 역할입니다. 문자열. 없음
런타임 함수의 런타임 환경입니다. 문자열. 없음
버전 함수의 버전입니다. 문자열. 없음

구성 참조

API 프록시에서 사용하기 위해 이 확장 프로그램을 구성하고 배포할 때 다음을 사용하세요. Apigee 콘솔을 사용하여 확장 프로그램을 구성하는 단계는 확장 프로그램 추가 및 구성을 참조하세요.

일반적인 확장 속성

모든 확장 프로그램에는 다음과 같은 속성이 있습니다.

속성 설명 기본 필수
name 확장 프로그램의 구성에 지정할 이름입니다. 없음 지원됨
packageName Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. 없음 지원됨
version 확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. 없음 지원됨
configuration 추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. 없음 지원됨

이 확장 프로그램의 속성

이 확장 프로그램과 관련된 다음 구성 속성의 값을 지정합니다.

속성 설명 기본값 필수
AWS Lambda 리전 함수가 배포된 리전의 이름입니다. 예: us-east-1 없음 예.
사용자 인증 정보 Apigee Edge 콘솔에 입력하면 JSON 파일 형식으로 Amazon 액세스 키 ID와 액세스 키가 포함됩니다.

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

관리 API를 통해 전송하면 키 JSON 파일에서 base64로 인코딩된 값입니다.
없음 예.