AWS Lambda 擴充功能

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

版本:1.1.2

執行部署於 AWS Lambda 的函式。你可以使用這項擴充功能列出 AWS 帳戶中的可用函式,然後叫用特定函式。

必要條件

透過 Extension 摘要政策使用 API Proxy 擴充功能之前,您必須:

關於 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 編碼值。
無。 是。