識別 Lambda 執行時期版本變更 - AWS Lambda

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

識別 Lambda 執行時期版本變更

執行時間版本編號和 ARN 會記錄在INIT_START日誌行中,每次 Lambda 建立新的執行環境時,日誌行都會向 CloudWatch Logs 發出。由於執行環境對所有函數調用都是使用相同的執行期版本,因此 Lambda 只會在執行初始化階段時發送 INIT_START 日誌行。Lambda 不會為每個函數調用發出此日誌行。Lambda 會將此日誌行發送到 CloudWatch Logs,但不會顯示在主控台中。

注意

執行期版本編號並非一律循序。例如,第 42 版之後可能會是第 45 版。

範例 Example INIT_START 日誌行
INIT_START Runtime Version: python:3.13.v14    Runtime Version ARN: arn:aws:lambda:eu-south-1::runtime:7b620fc2e66107a1046b140b9d320295811af3ad5d4c6a011fad1fa65127e9e6I

您可以使用 Amazon CloudWatch Contributor Insights 來識別執行階段版本之間的轉換情形,而不是直接使用日誌。下列規則會計算每個 INIT_START 日誌行中不同的執行階段版本。若要使用此規則,請將範例日誌群組名稱 /aws/lambda/* 取代為函數或函數群組的適當前置詞。

{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "AggregateOn": "Count", "Contribution": { "Filters": [ { "Match": "eventType", "In": [ "INIT_START" ] } ], "Keys": [ "runtimeVersion", "runtimeVersionArn" ] }, "LogFormat": "CLF", "LogGroupNames": [ "/aws/lambda/*" ], "Fields": { "1": "eventType", "4": "runtimeVersion", "8": "runtimeVersionArn" } }

下列 CloudWatch Contributor Insights 報告顯示上述規則擷取的執行階段版本轉換範例。橘色行顯示較早執行時間版本 (python:3.13.v12) 的執行環境初始化,而藍色行顯示新執行時間版本 (python:3.13.v14) 的執行環境初始化。

圖表顯示在新舊執行階段版本轉換的情形。