Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Atualizar a configuração de uma função do Lambda com o CodeBuild Lambda Python

Modo de foco
Atualizar a configuração de uma função do Lambda com o CodeBuild Lambda Python - AWS CodeBuild

O exemplo de Python a seguir usa Boto3 e CodeBuild Lambda Python para atualizar a configuração de uma função do Lambda. Esse exemplo pode ser estendido para gerenciar outros recursos da AWS de maneira programática. Para obter mais informações, consulte a documentação do Boto3.

Pré-requisitos

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

Este exemplo pressupõe que você já tenha criado uma função do Lambda na conta e usará o CodeBuild para atualizar as variáveis de ambiente da função do Lambda. Para obter mais informações sobre como configurar uma função do Lambda por meio do CodeBuild, veja o exemplo Implantar uma função do Lambda usando o AWS SAM com CodeBuild Lambda Java ou acesse AWS Lambda.

Configurar o repositório de origem

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)
  2. Faça o upload do arquivo Python em um repositório de origem compatível. Para obter uma lista dos tipos de origem compatíveis, consulte ProjectSource.

Criar um projeto do CodeBuild Lambda Python

Crie um projeto do CodeBuild Lambda Python.

Para criar seu projeto CodeBuild Lambda Java
  1. Abra o console do AWS CodeBuild em https://console.aws.amazon.com/codesuite/codebuild/home.

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

  3. Em Nome do projeto, insira um nome para esse projeto de compilação. Os nomes de projeto de compilação devem ser únicos em cada conta da AWS. 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.

  4. Em Origem, selecione o repositório de origem em que o projeto do AWS SAM está localizado.

  5. Em Ambiente:

    • Para Computação, selecione Lambda.

    • Em Runtime(s), escolha Python.

    • Em Imagem, selecione aws/codebuild/amazonlinux-x86_64-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.

  6. Selecione Criar projeto de compilação.

  7. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  8. No painel de navegação, escolha Funções e selecione o perfil de serviço associado ao projeto. Você pode encontrar o perfil do projeto no CodeBuild selecionando o projeto de compilação, escolhendo Editar, Ambiente e, em seguida, Perfil de serviço.

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

  10. Adicione a seguinte política em linha ao perfil do IAM. Isso será usado para implantar sua infraestrutura do AWS SAM posteriormente. Para obter mais informações, consulte Adicionar e remover permissões de identidade do IAM no Guia do usuário do IAM.

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

Configurar o buildspec do projeto

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 console do CodeBuild, selecione o projeto de compilação e escolha Editar e Buildspec.

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

  3. 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
  4. Selecione Atualizar buildspec.

Atualizar a configuração do Lambda

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

Para atualizar a configuração da função do Lambda
  1. Selecione Iniciar compilação.

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

  3. 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

Para evitar cobranças adicionais pelos recursos usados durante este tutorial, exclua os recursos criados para o projeto do CodeBuild.

Para limpar a infraestrutura
  1. Navegue até o console do CloudWatch e exclua os grupos de log do CloudWatch associados ao projeto do CodeBuild.

  2. Navegue até o console do CodeBuild e exclua o projeto do CodeBuild escolhendo Excluir projeto de compilação.

  3. 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

Se você quiser estender esse exemplo para gerenciar outros recursos da AWS usando o AWS CodeBuild Lambda Python:

  • Atualize o script Python para modificar os novos recursos usando o Boto3.

  • Atualize o perfil do IAM associado ao projeto do CodeBuild para ter permissões para os novos recursos.

  • Adicione quaisquer novas variáveis de ambiente associadas aos novos recursos ao buildspec.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.