選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Lambda 遙測 API Event 結構描述參考

焦點模式
Lambda 遙測 API Event 結構描述參考 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 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 支援的所有 Event 物件類型。

類別 事件類型 描述 事件記錄結構描述

平台事件

platform.initStart

函數初始化已開始。

platform.initStart 結構描述

平台事件

platform.initRuntimeDone

函數初始化已完成。

platform.initRuntimeDone 結構描述

平台事件

platform.initReport

函數初始化報告。

platform.initReport 結構描述

平台事件

platform.start

函數調用已開始。

platform.start 結構描述

平台事件

platform.runtimeDone

執行階段已完成處理的事件,結果為成功或失敗。

platform.runtimeDone 結構描述

平台事件

platform.report

函數調用報告。

platform.report 結構描述

平台事件

platform.restoreStart

執行時間還原已開始。

platform.restoreStart 結構描述

平台事件

platform.restoreRuntimeDone

執行時間還原已完成。

platform.restoreRuntimeDone 結構描述

平台事件

platform.restoreReport

執行時間還原報告。

platform.restoreReport 結構描述

平台事件

platform.telemetrySubscription

延伸項目已訂閱遙測 API。

platform.telemetrySubscription 結構描述

平台事件

platform.logsDropped

Lambda 已捨棄日誌項目。

platform.logsDropped 結構描述

函數日誌

function

函數程式碼的日誌行。

function 結構描述

延伸項目日誌

extension

延伸項目程式碼的日誌行。

extension 結構描述

遙測 API Event 物件類型

本節詳細說明 Lambda 遙測 API 支援的 Event 物件類型。在事件描述中,問號 (?) 表示該屬性可能不存在於物件中。

platform.initStart

platform.initStart 事件表示函數初始化階段已開始。platform.initStart Event 物件的結構如下:

Event: Object - time: String - type: String = platform.initStart - record: PlatformInitStart

PlatformInitStart 物件具有下列屬性:

  • functionNameString

  • functionVersionString

  • initializationTypeInitType 物件

  • instanceId?String

  • instanceMaxMemory?Integer

  • phaseInitPhase 物件

  • runtimeVersion?String

  • runtimeVersionArn?String

以下是 platform.initStart 類型 Event 的範例:

{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.initStart", "record": { "initializationType": "on-demand", "phase": "init", "runtimeVersion": "nodejs-14.v3", "runtimeVersionArn": "arn", "functionName": "myFunction", "functionVersion": "$LATEST", "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e", "instanceMaxMemory": 256 } }

platform.initRuntimeDone

platform.initRuntimeDone 事件表示函數初始化階段已完成。platform.initRuntimeDone Event 物件的結構如下:

Event: Object - time: String - type: String = platform.initRuntimeDone - record: PlatformInitRuntimeDone

PlatformInitRuntimeDone 物件具有下列屬性:

以下是 platform.initRuntimeDone 類型 Event 的範例:

{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.initRuntimeDone", "record": { "initializationType": "on-demand" "status": "success", "spans": [ { "name": "someTimeSpan", "start": "2022-06-02T12:02:33.913Z", "durationMs": 70.5 } ] } }

platform.initReport

platform.initReport 事件包含函數初始化階段的整體報告。platform.initReport Event 物件的結構如下:

Event: Object - time: String - type: String = platform.initReport - record: PlatformInitReport

PlatformInitReport 物件具有下列屬性:

以下是 platform.initReport 類型 Event 的範例:

{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.initReport", "record": { "initializationType": "on-demand", "status": "success", "phase": "init", "metrics": { "durationMs": 125.33 }, "spans": [ { "name": "someTimeSpan", "start": "2022-06-02T12:02:33.913Z", "durationMs": 90.1 } ] } }

platform.start

platform.start 事件表示函數調用階段已開始。platform.start Event 物件的結構如下:

Event: Object - time: String - type: String = platform.start - record: PlatformStart

PlatformStart 物件具有下列屬性:

  • requestIdString

  • version?String

  • tracing?TraceContext

以下是 platform.start 類型 Event 的範例:

{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.start", "record": { "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", "version": "$LATEST", "tracing": { "spanId": "54565fb41ac79632", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" } } }

platform.runtimeDone

platform.runtimeDone 事件表示函數調用階段已完成。platform.runtimeDone Event 物件的結構如下:

Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone

PlatformRuntimeDone 物件具有下列屬性:

以下是 platform.runtimeDone 類型 Event 的範例:

{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.runtimeDone", "record": { "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", "status": "success", "tracing": { "spanId": "54565fb41ac79632", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }, "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 80.0 } ], "metrics": { "durationMs": 140.0, "producedBytes": 16 } } }

platform.report

platform.report 事件包含函數調用階段的整體報告。platform.report Event 物件的結構如下:

Event: Object - time: String - type: String = platform.report - record: PlatformReport

PlatformReport 物件具有下列屬性:

以下是 platform.report 類型 Event 的範例:

{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.report", "record": { "metrics": { "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }, "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", } }

platform.restoreStart

platform.restoreStart 事件表示函數環境還原事件已開始。在環境還原事件中,Lambda 會從快取的快照建立環境,而不是從頭開始初始化。如需詳細資訊,請參閱Lambda SnapStartplatform.restoreStart Event 物件的結構如下:

Event: Object - time: String - type: String = platform.restoreStart - record: PlatformRestoreStart

PlatformRestoreStart 物件具有下列屬性:

  • functionNameString

  • functionVersionString

  • instanceId?String

  • instanceMaxMemory?String

  • runtimeVersion?String

  • runtimeVersionArn?String

以下是 platform.restoreStart 類型 Event 的範例:

{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreStart", "record": { "runtimeVersion": "nodejs-14.v3", "runtimeVersionArn": "arn", "functionName": "myFunction", "functionVersion": "$LATEST", "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e", "instanceMaxMemory": 256 } }

platform.restoreRuntimeDone

platform.restoreRuntimeDone 事件表示函數環境還原事件已完成。在環境還原事件中,Lambda 會從快取的快照建立環境,而不是從頭開始初始化。如需詳細資訊,請參閱Lambda SnapStartplatform.restoreRuntimeDone Event 物件的結構如下:

Event: Object - time: String - type: String = platform.restoreRuntimeDone - record: PlatformRestoreRuntimeDone

PlatformRestoreRuntimeDone 物件具有下列屬性:

  • errorType?String

  • spans?Span 物件的清單

  • statusStatus 物件

以下是 platform.restoreRuntimeDone 類型 Event 的範例:

{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreRuntimeDone", "record": { "status": "success", "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 80.0 } ] } }

platform.restoreReport

platform.restoreReport 事件包含函數還原事件的整體報告。platform.restoreReport Event 物件的結構如下:

Event: Object - time: String - type: String = platform.restoreReport - record: PlatformRestoreReport

PlatformRestoreReport 物件具有下列屬性:

以下是 platform.restoreReport 類型 Event 的範例:

{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreReport", "record": { "status": "success", "metrics": { "durationMs": 15.19 }, "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 30.0 } ] } }

platform.extension

extension 事件包含延伸項目程式碼的日誌。extension Event 物件的結構如下:

Event: Object - time: String - type: String = extension - record: {}

PlatformExtension 物件具有下列屬性:

  • eventsString 清單

  • nameString

  • stateString

以下是 platform.extension 類型 Event 的範例:

{ "time": "2022-10-12T00:02:15.000Z", "type": "platform.extension", "record": { "events": [ "INVOKE", "SHUTDOWN" ], "name": "my-telemetry-extension", "state": "Ready" } }

platform.telemetrySubscription

platform.telemetrySubscription 事件包含延伸項目訂閱的相關資訊。platform.telemetrySubscription Event 物件的結構如下:

Event: Object - time: String - type: String = platform.telemetrySubscription - record: PlatformTelemetrySubscription

PlatformTelemetrySubscription 物件具有下列屬性:

  • nameString

  • stateString

  • typesString 清單

以下是 platform.telemetrySubscription 類型 Event 的範例:

{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.telemetrySubscription", "record": { "name": "my-telemetry-extension", "state": "Subscribed", "types": [ "platform", "function" ] } }

platform.logsDropped

platform.logsDropped 事件包含已捨棄事件的相關資訊。當函數以過高速率輸出日誌,使得 Lambda 無法及時處理時,Lambda 會發出 platform.logsDropped 事件。當 Lambda 無法以函數產生日誌的速度將它們傳送到 CloudWatch 或訂閱了遙測 API 的延伸時,它會捨棄日誌以防止函數的執行速度變慢。platform.logsDropped Event 物件的結構如下:

Event: Object - time: String - type: String = platform.logsDropped - record: PlatformLogsDropped

PlatformLogsDropped 物件具有下列屬性:

  • droppedBytesInteger

  • droppedRecordsInteger

  • reasonString

以下是 platform.logsDropped 類型 Event 的範例:

{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.logsDropped", "record": { "droppedBytes": 12345, "droppedRecords": 123, "reason": "Some logs were dropped because the downstream consumer is slower than the logs production rate" } }

function

function 事件包含函數程式碼的日誌。function Event 物件的結構如下:

Event: Object - time: String - type: String = function - record: {}

record 欄位的格式取決於函數的日誌檔是以純文字格式還是 JSON 格式而定。若要進一步瞭解日誌格式設定選項,請參閱 設定 JSON 和純文字日誌格式

以下是日誌格式為純文字時類型 function 的範例 Event

{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": "[INFO] Hello world, I am a function!" }

以下是日誌格式為 JSON 時的類型 function 的範例 Event

{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": { "timestamp": "2022-10-12T00:03:50.000Z", "level": "INFO", "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189", "message": "Hello world, I am a function!" } }
注意

如果您使用的描述版本比 2022-12-13 版本舊,則即使函數的 "record" 日誌格式配置為 JSON,也始終將其呈現為字串。

extension

extension 事件包含延伸項目程式碼的日誌。extension Event 物件的結構如下:

Event: Object - time: String - type: String = extension - record: {}

record 欄位的格式取決於函數的日誌檔是以純文字格式還是 JSON 格式而定。若要進一步瞭解日誌格式設定選項,請參閱 設定 JSON 和純文字日誌格式

以下是日誌格式為純文字時類型 extension 的範例 Event

{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": "[INFO] Hello world, I am an extension!" }

以下是日誌格式為 JSON 時的類型 extension 的範例 Event

{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": { "timestamp": "2022-10-12T00:03:50.000Z", "level": "INFO", "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189", "message": "Hello world, I am an extension!" } }
注意

如果您使用的描述版本比 2022-12-13 版本舊,則即使函數的 "record" 日誌格式配置為 JSON,也始終將其呈現為字串。

共用物件類型

本節詳細說明 Lambda 遙測 API 支援的共用物件類型。

InitPhase

字串列舉,描述初始化步驟發生時的階段。多數情況下,Lambda 會在 init 階段執行函數初始化程式碼。但是在某些錯誤情況下,Lambda 可能會在 invoke 階段重新執行函數初始化程式碼。(這稱為隱藏的初始化。)

  • 類型String

  • 有效值init|invoke|snap-start

InitReportMetrics

包含初始化階段相關指標的物件。

  • 類型Object

InitReportMetrics 物件的結構如下:

InitReportMetrics: Object - durationMs: Double

下列為 InitReportMetrics 物件的範例:

{ "durationMs": 247.88 }

InitType

字串列舉,描述 Lambda 如何初始化環境。

  • 類型String

  • 有效值on-demand|provisioned-concurrency

ReportMetrics

包含已完成階段相關指標的物件。

  • 類型Object

ReportMetrics 物件的結構如下:

ReportMetrics: Object - billedDurationMs: Integer - durationMs: Double - initDurationMs?: Double - maxMemoryUsedMB: Integer - memorySizeMB: Integer - restoreDurationMs?: Double

下列為 ReportMetrics 物件的範例:

{ "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }

RestoreReportMetrics

包含已完成還原階段相關指標的物件。

  • 類型Object

RestoreReportMetrics 物件的結構如下:

RestoreReportMetrics: Object - durationMs: Double

下列為 RestoreReportMetrics 物件的範例:

{ "durationMs": 15.19 }

RuntimeDoneMetrics

包含調用階段相關指標的物件。

  • 類型Object

RuntimeDoneMetrics 物件的結構如下:

RuntimeDoneMetrics: Object - durationMs: Double - producedBytes?: Integer

下列為 RuntimeDoneMetrics 物件的範例:

{ "durationMs": 200.0, "producedBytes": 15 }

Span

包含跨度詳細資訊的物件。跨度表示追蹤中的工作或作業單位。如需跨度的詳細資訊,請參閱 OpenTelemetry 文件網站的追蹤 API 頁面上的跨度

Lambda 針對 platform.RuntimeDone 事件支援下列跨度:

  • responseLatency 跨度描述 Lambda 函數開始傳送回應所花費的時間。

  • responseDuration 跨度描述 Lambda 函數完成傳送整個回應所花費的時間。

  • runtimeOverhead 跨度描述 Lambda 執行期表示已準備好處理下一個函數調用所花費的時間。這是執行期傳回函數回應後,呼叫下一個調用 API 所花費的時間。

下列為 responseLatency 跨度物件的範例:

{ "name": "responseLatency", "start": "2022-08-02T12:01:23.521Z", "durationMs": 23.02 }

Status

描述初始化或呼叫階段狀態的物件。如果狀態為 failureerror,則 Status 物件也會包含描述錯誤的 errorType 欄位。

  • 類型Object

  • 有效狀態值success|failure|error|timeout

TraceContext

描述追蹤屬性的物件。

  • 類型Object

TraceContext 物件的結構如下:

TraceContext: Object - spanId?: String - type: TracingType enum - value: String

下列為 TraceContext 物件的範例:

{ "spanId": "073a49012f3c312e", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }

TracingType

字串列舉,描述 TraceContext 物件中追蹤的類型。

  • 類型String

  • 有效值X-Amzn-Trace-Id

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。