AWS Lambda 扩展程序

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

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

版本: 1.0.0

执行 AWS Lambda 上部署的函数。使用此扩展程序列出您的 AWS 账号中可用的函数,然后调用特定函数。

前提条件

在通过 API 代理通过 ExtensionCallout 政策使用扩展程序之前,您必须:

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 要调用的函数的名称。 String。 无。 是。
invocationType 指定是同步调用函数、异步调用函数,还是验证参数值。 String。 无。 数量
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"
  }
]

响应属性

属性 说明 类型 默认值
说明 函数的说明。 String。 无。
Handler Lambda 为开始执行该函数而调用的函数。 String。 无。
FunctionArn 函数的 Amazon 资源名称。 String。 无。
FunctionName 函数的名称。 String。 无。
角色 函数的执行角色。 String。 无。
运行时 函数的运行时环境。 String。 无。
版本 函数的版本。 String。 无。

配置参考

在配置和部署此扩展程序以供在 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"
}

通过 Management API 发送时,它是从该密钥 JSON 文件生成的 base64 编码值。
无。 是。