識別 Lambda 執行階段版本 - AWS Lambda

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

識別 Lambda 執行階段版本

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

範例 INIT _ START 記錄行
INIT_START Runtime Version: python:3.9.v14    Runtime Version ARN: arn:aws:lambda:eu-south-1::runtime:7b620fc2e66107a1046b140b9d320295811af3ad5d4c6a011fad1fa65127e9e6I

您可以使用 Amazon CloudWatch 貢獻者深入解析來識別執行階段版本之間的轉換,而不是直接使用日誌。下列規則會計算每個 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 參與者見解報表會顯示前述規則所擷取之執行階段版本轉換的範例。橘線顯示舊執行階段版本 (python:3.9.v12) 的執行環境初始化,藍線顯示新執行階段版本 (python:3.9.v14) 的執行環境初始化。

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