AWS Lambda 擴充功能

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

版本:2.0.1

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

必要條件

使用 ExtensionCallout 政策從 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 函式的別名版本。 字串 無。 不用
酬載 以 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 資源名稱。 字串。 無。
FunctionName 函式名稱。 字串。 無。
角色 函式的執行角色。 字串。 無。
執行階段 函式的執行階段環境。 字串。 無。
版本 函式版本。 字串。 無。

設定參考資料

設定及部署這個擴充功能,以便在 API Proxy 中使用時,請參考下列說明。如要瞭解如何使用 Apigee 控制台設定擴充功能,請參閱「新增及設定擴充功能」。

常見的擴充功能屬性

每個擴充功能都有下列屬性。

屬性 說明 預設 必要
name 您要為這項擴充功能設定的名稱。 相容
packageName Apigee Edge 指定的擴充功能套件名稱。 相容
version 擴充功能的擴充功能套件版本號碼。 相容
configuration 您要新增的擴充功能專屬的設定值。請參閱「這個擴充功能套件的屬性」一文 相容

這個擴充套件的屬性

指定下列這項擴充功能專用的設定屬性值。

屬性 說明 預設 必填
AWS Lambda 區域 部署函式的區域名稱。例如 us-east-1 無。 是。
憑證 在 Apigee Edge 控制台中輸入時,這是包含 Amazon 存取金鑰 ID 和存取金鑰的 JSON 檔案,格式如下:

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

透過 Management API 傳送時,這是從該金鑰 JSON 檔案產生的 Base64 編碼值。
無。 是。