Usar a CLI do AWS SAM para habilitar o Lambda Insights em uma função existente do Lambda - Amazon CloudWatch

Usar a CLI do AWS SAM para habilitar o Lambda Insights em uma função existente do Lambda

Siga estas etapas para usar a AWS SAM AWS CLI para habilitar o Lambda Insights em uma função existente do Lambda.

Se você ainda não tem a versão mais recente da AWS SAM CLI instalada, primeiro é necessário instalá-la ou atualizá-la. Para obter mais informações, consulte Instalar a AWS SAM CLI.

Etapa 1: instalar a camada

Para disponibilizar a extensão Lambda Insights a todas as funções do Lambda, adicione uma propriedade Layers à seção Globals de seu modelo do SAM com o ARN da camada do Lambda Insights. O exemplo abaixo usa a camada para a versão inicial do Lambda Insights. Para obter a versão mais recente da camada de extensão do Lambda Insights, consulte Versões disponíveis da extensão do Lambda Insights.

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

Para habilitar essa camada para apenas uma única função, adicione a propriedade Layers à função, conforme apresentado neste exemplo.

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

Etapa 2: adicionar a política gerenciada

Para cada função, adicione a política do IAM CloudWatchLambdaInsightsExecutionRolePolicy.

Como o AWS SAM não oferece suporte a políticas globais, é necessário habilitá-las em cada função individualmente, conforme apresentado neste exemplo. Para obter mais informações sobre globais, consulte Seção de globais.

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

Invocar localmente

A AWS SAM CLI é compatível com extensões do Lambda. Porém, cada invocação executada localmente redefine o ambiente do runtime. Os dados do Lambda Insights não estarão disponíveis a partir de invocações locais porque o runtime é reiniciado sem um evento de desligamento. Para obter mais informações, consulte Release 1.6.0: adicionar suporte para testes locais de extensões do AWS Lambda.

Solução de problemas

Para solucionar problemas de instalação do Lambda Insights, adicione a seguinte variável de ambiente a sua função Lambda para habilitar o log de depuração.

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