

# Usar a CLI do AWS SAM para habilitar o Lambda Insights em uma função existente do Lambda
<a name="Lambda-Insights-Getting-Started-SAM-CLI"></a>

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](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html).

**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](Lambda-Insights-extension-versions.md).

```
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**.

AWS SAMComo o 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](https://github.com/aws/serverless-application-model/blob/master/docs/globals.rst). 

```
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](https://github.com/aws/aws-sam-cli/releases/tag/v1.6.0).

**Solução de problemas do**

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
```