使用 AWS SAM CLI 在現有的 Lambda 函數上啟用 Lambda Insights - Amazon CloudWatch

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

使用 AWS SAM CLI 在現有的 Lambda 函數上啟用 Lambda Insights

請依照下列步驟,使用 AWS SAM AWS CLI 在現有的 Lambda 函數上啟用 Lambda Insights。

如果您尚未安裝最新版本的 AWS SAM CLI,您必須先安裝或升級它。如需詳細資訊,請參閱安裝 AWS SAM CLI

步驟 1:安裝層

若要讓 Lambda Insights 延伸可供您所有的 Lambda 函數使用,請使用 Lambda Insights 層的 ARN 將 Layers 屬性新增至 SAM 範本的 Globals 區段。下面的範例使用 Lambda Insights 的初始版本層。如需 Lambda Insights 延伸層的最新版本,請參閱 Lambda Insights 延伸的可用版本

Globals: Function: Layers: - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"

若要僅針對單一函數啟用此層,請將 Layers 屬性新增至函數,如此範例所示。

Resources: MyFunction: Type: AWS::Serverless::Function Properties: Layers: - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"

步驟 2:新增受管政策

對於每個函數,新增 CloudWatchLambdaInsightsExecutionRolePolicy IAM 政策。

AWS SAM 不支援全域政策,因此您必須在每個函數上個別啟用這些政策,如本範例所示。如需全域的詳細資訊,請參閱全域區段

Resources: MyFunction: Type: AWS::Serverless::Function Properties: Policies: - CloudWatchLambdaInsightsExecutionRolePolicy

本機叫用

CLI AWS SAM 支援 Lambda 延伸模組。不過,每個本機執行的叫用都會重設執行階段環境。本地叫用將無法獲得 Lambda Insights 資料,因為執行時間會在沒有關機事件的情況下重新啟動。如需詳細資訊,請參閱 1.6.0 版 - 新增 AWS Lambda 擴充功能的本機測試支援。

疑難排解

若要對您的 Lambda Insights 安裝進行疑難排解,請將下列環境變數新增至 Lambda 函數,以啟用偵錯日誌記錄。

Resources: MyFunction: Type: AWS::Serverless::Function Properties: Environment: Variables: LAMBDA_INSIGHTS_LOG_LEVEL: info