Lambda 遥测 API 参考 - AWS Lambda

Lambda 遥测 API 参考

使用 Lambda 遥测 API 端点订阅遥测流的扩展。您可以从 AWS_LAMBDA_RUNTIME_API 环境变量中检索遥测 API 端点。若要发送 API 请求,请附加 API 版本(2022-07-01/)和 telemetry/。例如:

http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/

有关订阅响应版本 2022-12-13 的 OpenAPI 规范(OAS)定义,请参阅以下内容:

API 操作

订阅

若要订阅遥测流,Lambda 扩展可以发送订阅 API 请求。

  • 路径/telemetry

  • 方法PUT

  • 标头

    • Content-Type: application/json

  • 请求正文参数

    • schemaVersion

      • 必需:是

      • 类型:字符串

      • 有效值:"2022-12-13""2022-07-01"

    • 目标 – 定义遥测事件目标和事件传输协议的配置设置。

      • 必需:是

      • 类型:对象

        { "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" }
      • 协议 – Lambda 用于发送遥测数据的协议。

        • 必需:是

        • 类型:字符串

        • 有效值:"HTTP"|"TCP"

      • URI – 要向其发送遥测数据的 URI。

        • 必需:是

        • 类型:字符串

      • 有关更多信息,请参阅 指定目标协议

    • 类型 – 您希望扩展订阅的遥测类型。

      • 必需:是

      • 类型:字符串数组

      • 有效值:"platform"|"function"|"extension"

    • 缓冲 – 事件缓冲的配置设置。

      • 必需:否

      • 类型:对象

        { "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 } }
      • maxItems – 在内存中缓冲的最大事件数。

        • 必需:否

        • 类型:整数

        • 默认值:1000

        • 最小值:1000

        • 最大值:10000

      • maxBytes – 在内存中缓冲的最大遥测量(以字节为单位)。

        • 必需:否

        • 类型:整数

        • 默认值:262144

        • 最小值:262144

        • 最大值:1048576。

      • timeoutMs – 缓冲批的最长时间(以毫秒为单位)。

        • 必需:否

        • 类型:整数

        • 默认值:1000

        • 最小值:25

        • 最大值:30000

      • 有关更多信息,请参阅 配置内存使用量和缓冲

订阅 API 请求示例

PUT http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry HTTP/1.1 { "schemaVersion": "2022-12-13", "types": [ "platform", "function", "extension" ], "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 }, "destination": { "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" } }

如果订阅请求成功,扩展将收到 HTTP 200 成功响应:

HTTP/1.1 200 OK "OK"

如果订阅请求失败,扩展将收到错误响应。例如:

HTTP/1.1 400 OK { "errorType": "ValidationError", "errorMessage": "URI port is not provided; types should not be empty" }

以下是扩展可以收到的一些其他响应代码:

  • 200 – 已成功完成请求

  • 202 – 已接受请求。本地测试环境中的订阅请求响应

  • 400 – 错误请求

  • 500 – 服务错误