Lambda Telemetry API リファレンス - AWS Lambda

Lambda Telemetry API リファレンス

Lambda Telemetry API エンドポイントを使用して、拡張機能をテレメトリーストリームにサブスクライブします。Telemetry API エンドポイントは、AWS_LAMBDA_RUNTIME_API 環境変数から取得できます。API リクエストを送信するには、API バージョン (2022-07-01/) と telemetry/ を付加します。例:

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

サブスクリプションレスポンスバージョン 2022-12-13 の OpenAPI Specification (OAS) 定義については、以下を参照してください。

API 操作

Subscribe

Lambda 拡張機能は、テレメトリーストリームにサブスクライブするために Subscribe API リクエストを送信できます。

  • パス/telemetry

  • メソッドPUT

  • ヘッダー

    • Content-Type: application/json

  • リクエストボディパラメータ

    • schemaVersion

      • 必須: はい

      • 型: 文字列

      • 有効な値: "2022-12-13" または "2022-07-01"

    • destination – テレメトリイベントの宛先とイベント配信のプロトコルを定義する設定。

      • 必須: はい

      • 型: オブジェクト

        { "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" }
      • protocol – Lambda がテレメトリデータを送信するために使用するプロトコル。

        • 必須: はい

        • 型: 文字列

        • 有効な値: "HTTP"|"TCP"

      • URI – テレメトリデータの送信先になる URI。

        • 必須: はい

        • 型: 文字列

      • 詳細については、「宛先プロトコルの指定」を参照してください。

    • types – 拡張機能がサブスクライブするテレメトリのタイプ。

      • 必須: はい

      • 型: 文字列の配列

      • 有効な値: "platform"|"function"|"extension"

    • buffering – イベントバッファリングの設定。

      • 必須:いいえ

      • 型: オブジェクト

        { "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 } }
      • MaxItems – メモリでバッファするイベントの最大数。

        • 必須: いいえ

        • 型: 整数

        • デフォルト: 1,000

        • 最小: 1,000

        • 最大: 10,000

      • maxBytes – メモリでバッファするテレメトリの最大量 (バイト単位)。

        • 必須: いいえ

        • 型: 整数

        • デフォルト: 262,144

        • 最小: 262,144

        • 最大: 1,048,576

      • timeoutMs - バッチをバッファーする最大時間(ミリ秒単位)。

        • 必須: いいえ

        • 型: 整数

        • デフォルト: 1,000

        • 最小: 25

        • 最大: 30,000

      • 詳細については、「メモリの使用量とバッファリングの設定」を参照してください。

Subscribe 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" } }

Subscribe リクエストが正常に実行されると、拡張機能が HTTP 200 成功レスポンスを受信します。

HTTP/1.1 200 OK "OK"

Subscribe リクエストが失敗すると、拡張機能がエラーレスポンスを受信します。例:

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

以下は、拡張機能が受信できる追加のレスポンスコードです。

  • 200 – リクエストが正常に完了しました

  • 202 – リクエストが受理されました。ローカルテスト環境でのサブスクリプションリクエストレスポンス

  • 400 – 不正なリクエスト

  • 500 – サービスエラー