您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
版本:1.1.1
執行部署於 AWS Lambda 的函式。使用這項擴充功能列出 AWS 帳戶可用的函式,然後叫用特定函式。
必要條件
透過 Extension callout 政策透過 API Proxy 使用擴充功能前,您必須:
取得您的 Amazon 存取金鑰 ID 和私密存取金鑰。
您需要這些資訊,以及部署函式的區域名稱,才能configure這項擴充功能。
部署 Lambda 函式。如要讓擴充功能存取 Lambda 函式,該函式必須符合以下條件:
- 在公開虛擬私有雲中部署
- 透過公開 NAT 閘道的私人虛擬私有雲部署
關於 AWS Lambda
AWS Lambda 提供運算環境,讓您以其中一種支援的語言執行函式。
動作
叫用
叫用 AWS Lambda 中的函式。
如要進一步瞭解參數,請參閱 AWS Lambda Invoke 說明文件。
語法
<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 Invoke 說明文件。
參數 | 說明 | 類型 | 預設 | 需要 |
---|---|---|---|---|
functionName | 要叫用的函式名稱。 | 字串。 | 無。 | 可以。 |
invocationType | 指定要以同步、非同步或非同步方式叫用函式,還是驗證參數值。 | 字串。 | 無。 | 不會。 |
logType | 您可以選擇是否傳回記錄資料最後 4 KB。 | 字串 | 無。 | 不會。 |
限定詞 | 已發布 Lambda 函式的別名版本。 | 字串 | 無。 | 不會。 |
payload | 輸入 JSON 做為 Lambda 函式的輸入內容。 | 字串 | 無。 | 不會。 |
回應
包含特定版本詳細資料的函式陣列。範例如下:
{
"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 Resource Name。 | 字串。 | 無。 |
FunctionName | 函式的名稱。 | 字串。 | 無。 |
角色 | 函式的執行角色。 | 字串。 | 無。 |
執行階段 | 函式的執行階段環境。 | 字串。 | 無。 |
版本 | 函式的版本。 | 字串。 | 無。 |
設定參考資料
如果您要設定及部署這個擴充功能,以便用於 API Proxy,請按照下列指示操作。如需使用 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" } 透過 Management API 傳送時,檔案為透過該金鑰 JSON 檔案產生的 Base64 編碼值。 |
無。 | 可以。 |