添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

运行时 API 版本 2018-06-01 的 OpenAPI 规范在 runtime-api.zip 中提供

为了创建 API 请求 URL,运行时会从 AWS_LAMBDA_RUNTIME_API 环境变量获取 API 终端节点,添加 API 版本,然后添加所需的资源路径。

例 请求
curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/next"

下一个调用

路径 /runtime/invocation/next

方法 GET

运行时将此消息发送到 Lambda 以请求调用事件。响应主体包含来自调用的有效负载,该负载是包含来自函数触发器的事件数据的 JSON 文档。响应标头包含有关调用的额外数据。

Lambda-Runtime-Aws-Request-Id – 请求 ID,用于标识触发了函数调用的请求。

例如, 8476a536-e9f4-11e8-9739-2dfe598c3fcd

Lambda-Runtime-Deadline-Ms – 函数超时的日期(Unix 时间形式,以毫秒为单位)。

例如, 1542409706888

Lambda-Runtime-Invoked-Function-Arn – Lambda 函数的 ARN、版本或在调用中指定的别名。

例如, arn:aws:lambda:us-east-2:123456789012:function:custom-runtime

Lambda-Runtime-Trace-Id AWS X-Ray跟踪标头

例如, Root=1-5bef4de7-ad49b0e87f6ef6c87fc2e700;Parent=9a9197af755a6419;Sampled=1

Lambda-Runtime-Client-Context – 对于来自 AWS Mobile SDK 的调用,为有关客户端应用程序和设备的数据。

Lambda-Runtime-Cognito-Identity – 对于来自 AWS Mobile SDK 的调用,为有关 Amazon Cognito 身份提供商的数据。

不要对 GET 请求设置超时,因为响应可能会延迟。在 Lambda 引导运行时和运行时返回事件之间,运行时进程可能会冻结几秒钟。

请求 ID 用于跟踪 Lambda 中的调用。使用它可在您发送响应时指定调用。

跟踪标头包含跟踪 ID、父 ID 和采样决策。如果对请求进行采样,则由 Lambda 或某个上游服务对请求进行采样。运行时应设置具有标头的值的 _X_AMZN_TRACE_ID 。X-Ray 开发工具包会读取此项以获取 ID 并确定是否要跟踪请求。

路径 /runtime/invocation/ AwsRequestId /response

方法 POST

在函数运行完成后,运行时会将调用响应发送到 Lambda。对于同步调用,Lambda 会将响应发送到客户端。

例 成功请求
REQUEST_ID=156cb537-e2d4-11e8-9b34-d36013741fb9 curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/$REQUEST_ID/response" -d "SUCCESS"

初始化错误

如果函数返回错误或运行时在初始化期间遇到错误,则运行时将使用此方法向 Lambda 报告错误。

路径 /runtime/init/error

方法 POST

Lambda-Runtime-Function-Error-Type – 运行时遇到的错误类型。必需:否

此标头由字符串值组成。Lambda 接受任何字符串,但建议您使用 <category.reason> 格式。例如:

  • Runtime.NoSuchHandler

  • Runtime.APIKeyNotFound

  • Runtime.ConfigInvalid

  • Runtime.UnknownReason

ErrorRequest – 有关错误的其他信息。必需:否

此字段是具有以下结构的 JSON 对象:

errorMessage: string (text description of the error), errorType: string, stackTrace: array of strings

请注意,Lambda 接受任何 errorType 值。

以下示例显示了 Lambda 函数错误消息,其中函数无法解析调用中提供的事件数据。

例 函数错误
{ "errorMessage" : "Error parsing event data.", "errorType" : "InvalidEventDataException", "stackTrace": [ ]
响应正文参数
  • StatusResponse – 字符串。状态信息,随 202 个响应代码一起发送。

  • ErrorResponse – 其他错误信息,随错误响应代码一起发送。ErrorResponse 包含错误类型和错误消息。

500 – 容器错误。不可恢复状态。运行时应立即退出。

例 初始化错误请求
ERROR="{\"errorMessage\" : \"Failed to load function.\", \"errorType\" : \"InvalidFunctionException\"}" curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/init/error" -d "$ERROR" --header "Lambda-Runtime-Function-Error-Type: Unhandled"

如果函数返回错误或运行时遇到错误,则运行时将使用此方法向 Lambda 报告错误。

路径 /runtime/invocation/ AwsRequestId /error

方法 POST

Lambda-Runtime-Function-Error-Type – 运行时遇到的错误类型。必需:否

此标头由字符串值组成。Lambda 接受任何字符串,但建议您使用 <category.reason> 格式。例如:

  • Runtime.NoSuchHandler

  • Runtime.APIKeyNotFound

  • Runtime.ConfigInvalid

  • Runtime.UnknownReason

ErrorRequest – 有关错误的其他信息。必需:否

此字段是具有以下结构的 JSON 对象:

errorMessage: string (text description of the error), errorType: string, stackTrace: array of strings

请注意,Lambda 接受任何 errorType 值。

以下示例显示了 Lambda 函数错误消息,其中函数无法解析调用中提供的事件数据。

例 函数错误
{ "errorMessage" : "Error parsing event data.", "errorType" : "InvalidEventDataException", "stackTrace": [ ]
响应正文参数
  • StatusResponse – 字符串。状态信息,随 202 个响应代码一起发送。

  • ErrorResponse – 其他错误信息,随错误响应代码一起发送。ErrorResponse 包含错误类型和错误消息。