

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Execute compilações em computação AWS Lambda
<a name="lambda"></a>

AWS Lambda a computação oferece velocidades de inicialização otimizadas para suas compilações. AWS Lambda suporta compilações mais rápidas devido a uma menor latência de inicialização. AWS Lambda também é dimensionado automaticamente, para que as compilações não fiquem esperando na fila para serem executadas. No entanto, existem alguns casos de uso que AWS Lambda não oferecem suporte e, se afetarem você, use a computação do EC2. Para obter mais informações, consulte [Limitações da AWS Lambda computação](#lambda.limitations).

**Topics**
+ [Quais ferramentas e runtimes serão incluídos nas imagens do Docker do ambiente de runtime selecionado que são executadas no AWS Lambda?](#lambda.tools)
+ [E se a imagem selecionada não incluir as ferramentas de que preciso?](#lambda.custom)
+ [Em quais regiões oferecem suporte à AWS Lambda computação? CodeBuild](#lambda.regions)
+ [Limitações da AWS Lambda computação](#lambda.limitations)
+ [Implemente uma função Lambda usando o AWS SAM CodeBuild Lambda Java](sample-lambda-sam-gradle.md)
+ [Crie um aplicativo React de página única com CodeBuild Lambda Node.js](sample-lambda-react-nodejs.md)
+ [Atualize a configuração de uma função Lambda com o CodeBuild Lambda Python](sample-lambda-boto3-python.md)

## Quais ferramentas e runtimes serão incluídos nas imagens do Docker do ambiente de runtime selecionado que são executadas no AWS Lambda?
<a name="lambda.tools"></a>

AWS Lambda oferece suporte às seguintes ferramentas: AWS CLI v2, AWS SAM CLI, git, go, Java, Node.js, Python, pip, Ruby e.NET.

## E se a imagem selecionada não incluir as ferramentas de que preciso?
<a name="lambda.custom"></a>

Se a imagem selecionada não incluir as ferramentas necessárias, você pode fornecer uma imagem do Docker do ambiente personalizado que inclui as ferramentas necessárias.

**nota**  
O Lambda não oferece suporte a funções que usam imagens de contêiner multiarquitetura. Consulte mais informações em [Criar uma função do Lambda usando uma imagem de contêiner](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-reqs) no *Guia do desenvolvedor do AWS Lambda *.

Observe que você precisa das seguintes permissões do Amazon ECR para usar imagens personalizadas para computação Lambda:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/image-repo"
        }
    ]
}
```

------

Observe também que `curl` ou `wget` deve ser instalado para usar imagens personalizadas.

## Em quais regiões oferecem suporte à AWS Lambda computação? CodeBuild
<a name="lambda.regions"></a>

Em CodeBuild, a AWS Lambda computação é suportada no seguinte Regiões da AWS: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Oregon), Ásia-Pacífico (Mumbai), Ásia-Pacífico (Cingapura), Ásia-Pacífico (Sydney), Ásia-Pacífico (Tóquio), Europa (Frankfurt), Europa (Irlanda) e América do Sul (São Paulo). Para obter mais informações sobre Regiões da AWS onde CodeBuild está disponível, consulte [AWS Serviços por região](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Limitações da AWS Lambda computação
<a name="lambda.limitations"></a>

Há alguns casos de uso que AWS Lambda não são compatíveis e, se afetarem você, use a computação do EC2:
+ AWS Lambda não oferece suporte a ferramentas que exijam permissões de root. Para ferramentas como `yum` ou `rpm`, use o tipo de computação do EC2 ou outras ferramentas que não exijam permissões de raiz.
+ AWS Lambda não suporta compilações ou execuções do Docker.
+ AWS Lambda não suporta gravação em arquivos externos`/tmp`. Os gerenciadores de pacotes incluídos estão configurados para usar o diretório `/tmp` por padrão para baixar e referenciar pacotes.
+ AWS Lambda não oferece suporte ao tipo de ambiente `LINUX_GPU_CONTAINER` e não é compatível com o Windows Server Core 2019.
+ AWS Lambda não suporta armazenamento em cache, tempos limite de compilação personalizados, tempo limite de fila, emblemas de construção, modo privilegiado, ambientes de tempo de execução personalizados ou tempos de execução superiores a 15 minutos.
+ AWS Lambda não oferece suporte à conectividade VPC, a um intervalo fixo de endereços IP de CodeBuild origem, EFS, instalação de certificados ou acesso SSH com o Session Manager.

# Implemente uma função Lambda usando o AWS SAM CodeBuild Lambda Java
<a name="sample-lambda-sam-gradle"></a>

O AWS Serverless Application Model (AWS SAM) é uma estrutura de código aberto para criar aplicativos sem servidor. Para obter mais informações, consulte o [AWS Serverless Application Model repositório](https://github.com/aws/serverless-application-model) em. GitHub O exemplo de Java a seguir usa o Gradle para criar e testar uma AWS Lambda função. Depois disso, a AWS SAM CLI é usada para implantar o CloudFormation modelo e o pacote de implantação. Ao usar o CodeBuild Lambda, as etapas de construção, teste e implantação são todas gerenciadas automaticamente, permitindo que a infraestrutura seja atualizada rapidamente sem intervenção manual em uma única compilação.

## Configurar seu AWS SAM repositório
<a name="sample-lambda-sam-gradle.set-up-repo"></a>

Crie um AWS SAM `Hello World` projeto usando a AWS SAM CLI.

**Para criar seu AWS SAM projeto**

1. Siga as instruções no *Guia do AWS Serverless Application Model desenvolvedor* para [instalar a AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) em sua máquina local.

1. Execute `sam init` e selecione a configuração de projeto a seguir.

   ```
   Which template source would you like to use?: 1 - AWS Quick Start Templates
   Choose an AWS Quick Start application template: 1 - Hello World Example
   Use the most popular runtime and package type? (Python and zip) [y/N]: N
   Which runtime would you like to use?: 8 - java21
   What package type would you like to use?: 1 - Zip
   Which dependency manager would you like to use?: 1 - gradle
   Would you like to enable X-Ray tracing on the function(s) in your application? [y/N]: N
   Would you like to enable monitoring using CloudWatch Application Insights? [y/N]: N
   Would you like to set Structured Logging in JSON format on your Lambda functions? [y/N]:  N
   Project name [sam-app]: <insert project name>
   ```

1. Carregue a pasta AWS SAM do projeto em um repositório de origem compatível. Para obter uma lista dos tipos de fonte compatíveis, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Crie um projeto CodeBuild Lambda Java
<a name="sample-lambda-sam-gradle.create-project"></a>

Crie um projeto AWS CodeBuild Lambda Java e configure as permissões do IAM necessárias para a construção.

**Para criar seu projeto CodeBuild Lambda Java**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Se uma página de CodeBuild informações for exibida, escolha **Criar projeto de construção**. Caso contrário, no painel de navegação, expanda **Compilar**, escolha **Projetos de compilação** e, depois, **Criar projeto de compilação**. 

1. Em **Nome do projeto**, insira um nome para esse projeto de compilação. Os nomes dos projetos de criação devem ser exclusivos em cada AWS conta. Também é possível incluir uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

1. Em **Código-fonte**, selecione o repositório de origem em que seu AWS SAM projeto está localizado.

1. Em **Ambiente**:
   + Para **Computação**, selecione **Lambda**.
   + Em **Runtime(s)**, selecione **Java**.
   + Para **Imagem**, selecione **aws/codebuild/amazonlinux-x86\$164-lambda-standard:corretto21**.
   + Em **Perfil de serviço**, deixe a opção **Novo perfil de serviço** selecionada. Anote o **nome da função**. Isso será necessário quando você atualizar as permissões do IAM do projeto posteriormente neste exemplo.

1. Selecione **Create build project (Criar projeto de compilação)**.

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. No painel de navegação, escolha **Funções** e selecione o perfil de serviço associado ao projeto. Você pode encontrar sua função de projeto em CodeBuild selecionando seu projeto de compilação, escolhendo **Editar**, **Ambiente** e, em seguida, **Função de serviço**.

1. Escolha a guia **Relacionamentos de confiança** e, em seguida, escolha **Editar política de confiança**.

1. Adicione a seguinte política em linha ao perfil do IAM. Isso será usado para implantar sua AWS SAM infraestrutura posteriormente. Para obter mais informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Action": [
                   "cloudformation:*",
                   "lambda:*",
                   "iam:*",
                   "apigateway:*",
                   "s3:*"
               ],
               "Resource": "arn:aws:iam::*:role/Service*"
           }
       ]
   }
   ```

------

## Configurar o buildspec do projeto
<a name="sample-lambda-sam-gradle.set-up-buildspec"></a>

Para criar, testar e implantar sua função Lambda, CodeBuild lê e executa comandos de compilação a partir de um buildspec.

**Para configurar o buildspec do projeto**

1. No CodeBuild console, selecione seu projeto de compilação e escolha **Editar** e **Buildspec**.

1. Em **Buildspec**, escolha **Inserir comandos de compilação** e, em seguida, escolha **Alternar para editor**.

1. Exclua os comandos de compilação pré-preenchidos e cole o seguinte buildspec.

   ```
   version: 0.2
   env:
     variables:
       GRADLE_DIR: "HelloWorldFunction"
   phases:
     build:
       commands:
         - echo "Running unit tests..."
         - cd $GRADLE_DIR; gradle test; cd ..
         - echo "Running build..."
         - sam build --template-file template.yaml
         - echo "Running deploy..."
         - sam package --output-template-file packaged.yaml --resolve-s3 --template-file template.yaml
         - yes | sam deploy
   ```

1. Selecione **Atualizar buildspec**.

## Implemente sua infraestrutura AWS SAM Lambda
<a name="sample-lambda-sam-gradle.deploy"></a>

Use o CodeBuild Lambda para implantar automaticamente sua infraestrutura Lambda

**Para implantar a infraestrutura do Lambda**

1. Selecione **Iniciar compilação**. Isso criará, testará e implantará automaticamente seu AWS SAM aplicativo para AWS Lambda uso CloudFormation.

1. Quando a compilação estiver concluída, navegue até o AWS Lambda console e pesquise sua nova função Lambda sob o nome do AWS SAM projeto.

1. Teste a função do Lambda selecionando **API Gateway** na visão geral da **Função** e clicando no URL do **endpoint de API**. Você deve ver uma página aberta com a mensagem `"message": "hello world"`.

## Limpar a infraestrutura
<a name="sample-lambda-sam-gradle.clean-up"></a>

Para evitar cobranças adicionais pelos recursos que você usou durante este tutorial, exclua os recursos criados pelo seu AWS SAM modelo CodeBuild e.

**Para limpar a infraestrutura**

1. Navegue até o CloudFormation console e selecione `aws-sam-cli-managed-default` o.

1. Em **Recursos**, esvazie o bucket de implantação `SamCliSourceBucket`.

1. Exclua a pilha `aws-sam-cli-managed-default`.

1. Exclua a CloudFormation pilha associada ao seu AWS SAM projeto. Essa pilha deve ter o mesmo nome do seu AWS SAM projeto.

1. Navegue até o CloudWatch console e exclua os grupos de CloudWatch registros associados ao seu CodeBuild projeto.

1. Navegue até o CodeBuild console e exclua seu CodeBuild projeto escolhendo **Excluir projeto de compilação**.

# Crie um aplicativo React de página única com CodeBuild Lambda Node.js
<a name="sample-lambda-react-nodejs"></a>

[Create React App](https://create-react-app.dev/) é uma forma de criar aplicações React de página única. O exemplo de Node.js a seguir usa Node.js para compilar os artefatos de origem de Create React App e retorna os artefatos de compilação.

## Configurar o repositório de origem e o bucket de artefatos
<a name="sample-lambda-react-nodejs.set-up-repo"></a>

Crie um repositório de origem para o projeto usando yarn e Create React App.

**Para configurar o repositório de origem e o bucket de artefatos**

1. Na máquina local, execute `yarn create react-app <app-name>` para criar uma aplicação React simples.

1. Faça o upload da pasta do projeto da aplicação React em um repositório de origem compatível. Para obter uma lista dos tipos de fonte compatíveis, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Crie um projeto CodeBuild Lambda Node.js
<a name="sample-lambda-react-nodejs.create-project"></a>

Crie um projeto AWS CodeBuild Lambda Node.js.

**Para criar seu projeto CodeBuild Lambda Node.js**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Se uma página de CodeBuild informações for exibida, escolha **Criar projeto de construção**. Caso contrário, no painel de navegação, expanda **Compilar**, escolha **Projetos de compilação** e, depois, **Criar projeto de compilação**. 

1. Em **Nome do projeto**, insira um nome para esse projeto de compilação. Os nomes dos projetos de criação devem ser exclusivos em cada AWS conta. Também é possível incluir uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

1. Em **Código-fonte**, selecione o repositório de origem em que seu AWS SAM projeto está localizado.

1. Em **Ambiente**:
   + Para **Computação**, selecione **Lambda**.
   + Em **Runtime(s)**, selecione **Node.js**.
   + Para **Imagem**, selecione **aws/codebuild/amazonlinux-x86\$164-lambda-standard:nodejs20**.

1. Em **Artefatos**:
   + Em **Tipo**, selecione **Amazon S3**.
   + Em **Nome do bucket**, selecione o bucket de artefatos do projeto que você criou anteriormente.
   + Em **Empacotamento de artefatos**, selecione **Zip**.

1. Selecione **Create build project (Criar projeto de compilação)**.

## Configurar o buildspec do projeto
<a name="sample-lambda-react-nodejs.set-up-buildspec"></a>

Para criar seu aplicativo React, CodeBuild lê e executa comandos de compilação a partir de um arquivo buildspec.

**Para configurar o buildspec do projeto**

1. No CodeBuild console, selecione seu projeto de compilação e escolha **Editar** e **Buildspec**.

1. Em **Buildspec**, escolha **Inserir comandos de compilação** e, em seguida, escolha **Alternar para editor**.

1. Exclua os comandos de compilação pré-preenchidos e cole o seguinte buildspec.

   ```
   version: 0.2
   phases:
     build:
       commands:
         - yarn
         - yarn add --dev jest-junit @babel/plugin-proposal-private-property-in-object
         - yarn run build
         - yarn run test -- --coverage --watchAll=false --testResultsProcessor="jest-junit" --detectOpenHandles
   artifacts:
     name: "build-output"
     files:
       - "**/*"
   reports:
     test-report:
       files:
         - 'junit.xml'
       file-format: 'JUNITXML'
     coverage-report:
       files:
         - 'coverage/clover.xml'
       file-format: 'CLOVERXML'
   ```

1. Selecione **Atualizar buildspec**.

## Compilar e executar a aplicação React
<a name="sample-lambda-react-nodejs.build"></a>

Crie o aplicativo React no CodeBuild Lambda, baixe os artefatos de construção e execute o aplicativo React localmente.

**Para compilar e executar a aplicação React**

1. Selecione **Iniciar compilação**.

1. Quando a compilação estiver concluída, navegue até o bucket de artefatos do projeto Amazon S3 e baixe o artefato da aplicação React.

1. Descompacte o artefato de compilação do React e `run npm install -g serve && serve -s build` na pasta do projeto.

1. O comando `serve` servirá o site estático em uma porta local e imprimirá a saída no terminal. Você pode visitar o URL do localhost em `Local:` na saída do terminal para visualizar a aplicação React.

Para saber mais sobre como lidar com a implantação de um servidor baseado em React, consulte [Create React App Deployment](https://create-react-app.dev/docs/deployment/).

## Limpar a infraestrutura
<a name="sample-lambda-react-nodejs.clean-up"></a>

Para evitar cobranças adicionais pelos recursos que você usou durante este tutorial, exclua os recursos criados para o seu CodeBuild projeto.

**Para limpar a infraestrutura**

1. Exclua o bucket do Amazon S3 dos artefatos do projeto

1. Navegue até o CloudWatch console e exclua os grupos de CloudWatch registros associados ao seu CodeBuild projeto.

1. Navegue até o CodeBuild console e exclua seu CodeBuild projeto escolhendo **Excluir projeto de compilação**.

# Atualize a configuração de uma função Lambda com o CodeBuild Lambda Python
<a name="sample-lambda-boto3-python"></a>

O exemplo de Python a seguir usa [Boto3](https://aws.amazon.com/sdk-for-python/) e CodeBuild Lambda Python para atualizar a configuração de uma função Lambda. Esse exemplo pode ser estendido para gerenciar outros AWS recursos de forma programática. Para obter mais informações, consulte a [documentação do Boto3](https://aws.amazon.com/sdk-for-python/).

## Pré-requisitos
<a name="sample-lambda-boto3-python.prerequisites"></a>

Crie ou encontre uma função do Lambda na sua conta.

Esse exemplo pressupõe que você já tenha criado uma função Lambda em sua conta e a CodeBuild usará para atualizar as variáveis de ambiente da função Lambda. Para obter mais informações sobre como configurar uma função Lambda por meio CodeBuild, consulte o [Implemente uma função Lambda usando o AWS SAM CodeBuild Lambda Java](sample-lambda-sam-gradle.md) exemplo ou visite. [AWS Lambda](https://aws.amazon.com/lambda/)

## Configurar o repositório de origem
<a name="sample-lambda-boto3-python.set-up-repo"></a>

Crie um repositório de origem para armazenar o script Python do Boto3.

**Para configurar o repositório de origem**

1. Copie o script do Python a seguir em um novo arquivo chamado `update_lambda_environment_variables.py`.

   ```
   import boto3
   from os import environ
   
   
   def update_lambda_env_variable(lambda_client):
       lambda_function_name = environ['LAMBDA_FUNC_NAME']
       lambda_env_variable = environ['LAMBDA_ENV_VARIABLE']
       lambda_env_variable_value = environ['LAMBDA_ENV_VARIABLE_VALUE']
       print("Updating lambda function " + lambda_function_name + " environment variable "
             + lambda_env_variable + " to " + lambda_env_variable_value)
       lambda_client.update_function_configuration(
           FunctionName=lambda_function_name,
           Environment={
               'Variables': {
                   lambda_env_variable: lambda_env_variable_value
               }
           },
       )
   
   
   if __name__ == "__main__":
       region = environ['AWS_REGION']
       client = boto3.client('lambda', region)
       update_lambda_env_variable(client)
   ```

1. Faça o upload do arquivo Python em um repositório de origem compatível. Para obter uma lista dos tipos de fonte compatíveis, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Crie um projeto CodeBuild Lambda Python
<a name="sample-lambda-boto3-python.create-project"></a>

Crie um projeto CodeBuild Lambda Python.

**Para criar seu projeto CodeBuild Lambda Java**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Se uma página de CodeBuild informações for exibida, escolha **Criar projeto de construção**. Caso contrário, no painel de navegação, expanda **Compilar**, escolha **Projetos de compilação** e, depois, **Criar projeto de compilação**. 

1. Em **Nome do projeto**, insira um nome para esse projeto de compilação. Os nomes dos projetos de criação devem ser exclusivos em cada AWS conta. Também é possível incluir uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

1. Em **Código-fonte**, selecione o repositório de origem em que seu AWS SAM projeto está localizado.

1. Em **Ambiente**:
   + Para **Computação**, selecione **Lambda**.
   + Em **Runtime(s)**, escolha **Python**.
   + Para **Imagem**, selecione **aws/codebuild/amazonlinux-x86\$164-lambda-standard:python3.12**.
   + Em **Perfil de serviço**, deixe a opção **Novo perfil de serviço** selecionada. Anote o **nome da função**. Isso será necessário quando você atualizar as permissões do IAM do projeto posteriormente neste exemplo.

1. Selecione **Create build project (Criar projeto de compilação)**.

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. No painel de navegação, escolha **Funções** e selecione o perfil de serviço associado ao projeto. Você pode encontrar sua função de projeto em CodeBuild selecionando seu projeto de compilação, escolhendo **Editar**, **Ambiente** e, em seguida, **Função de serviço**.

1. Escolha a guia **Relacionamentos de confiança** e, em seguida, escolha **Editar política de confiança**.

1. Adicione a seguinte política em linha ao perfil do IAM. Isso será usado para implantar sua AWS SAM infraestrutura posteriormente. Para obter mais informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "UpdateLambdaPermissions",
               "Effect": "Allow",
               "Action": [
                   "lambda:UpdateFunctionConfiguration"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

## Configurar o buildspec do projeto
<a name="sample-lambda-boto3-python.set-up-buildspec"></a>

Para atualizar a função do Lambda, o script lê as variáveis de ambiente do buildspec para encontrar o nome da função do Lambda, o nome da variável de ambiente e o valor da variável de ambiente.

**Para configurar o buildspec do projeto**

1. No CodeBuild console, selecione seu projeto de compilação e escolha **Editar** e **Buildspec**.

1. Em **Buildspec**, escolha **Inserir comandos de compilação** e, em seguida, escolha **Alternar para editor**.

1. Exclua os comandos de compilação pré-preenchidos e cole o seguinte buildspec.

   ```
   version: 0.2
   env:
     variables:
       LAMBDA_FUNC_NAME: "<lambda-function-name>"
       LAMBDA_ENV_VARIABLE: "FEATURE_ENABLED"
       LAMBDA_ENV_VARIABLE_VALUE: "true"
   phases:
     install:
       commands:
          - pip3 install boto3
     build:
       commands:
          - python3 update_lambda_environment_variables.py
   ```

1. Selecione **Atualizar buildspec**.

## Atualizar a configuração do Lambda
<a name="sample-lambda-boto3-python.update"></a>

Use o CodeBuild Lambda Python para atualizar automaticamente a configuração da função Lambda.

**Para atualizar a configuração da função do Lambda**

1. Selecione **Iniciar compilação**.

1. Quando a compilação estiver concluída, navegue até a função do Lambda.

1. Escolha **Configuração** e, em seguida, as variáveis de **Ambiente**. Você deve ver uma nova variável de ambiente com a chave `FEATURE_ENABLED` e o valor `true`.

## Limpar a infraestrutura
<a name="sample-lambda-boto3-python.clean-up"></a>

Para evitar cobranças adicionais pelos recursos que você usou durante este tutorial, exclua os recursos criados para o seu CodeBuild projeto.

**Para limpar a infraestrutura**

1. Navegue até o CloudWatch console e exclua os grupos de CloudWatch registros associados ao seu CodeBuild projeto.

1. Navegue até o CodeBuild console e exclua seu CodeBuild projeto escolhendo **Excluir projeto de compilação**.

1. Se você criou uma função do Lambda para o propósito deste exemplo, escolha **Ações** e **Excluir função** para limpar a função do Lambda.

## Extensões
<a name="sample-lambda-boto3-python.extensions"></a>

Se você quiser estender essa amostra para gerenciar outros AWS recursos usando o AWS CodeBuild Lambda Python:
+ Atualize o script Python para modificar os novos recursos usando o Boto3.
+ Atualize o papel do IAM associado ao seu CodeBuild projeto para ter permissões para os novos recursos.
+ Adicione quaisquer novas variáveis de ambiente associadas aos novos recursos ao buildspec.