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

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

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

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

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

O exemplo de Python a seguir usa Boto3 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.

Pré-requisitos

Crie ou encontre uma função Lambda em 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 exemplo ou visite. AWS Lambda

Configurar seu repositório de origem

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

Para configurar o repositório de origem
  1. Copie o seguinte script python para um novo arquivo chamadoupdate_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 fonte compatíveis, consulte ProjectSource.

Crie um projeto CodeBuild Lambda Python

Crie um projeto 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 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.

  3. Em Project name (Nome do projeto), insira um nome para esse projeto de compilação. Os nomes de projeto de build devem ser únicos em cada conta 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 Código-fonte, selecione o repositório de origem em que seu AWS SAM projeto está localizado.

  5. Em Environment (Ambiente):

    • Para Computação, selecione Lambda.

    • Em Tempo de execução (s), selecione Python.

    • Para Imagem, selecione aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.12.

    • Em Função de serviço, deixe a opção Nova função 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 nesta amostra.

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

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

  8. No painel de navegação, escolha Funções e selecione a função de serviço associada ao seu 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.

  9. Escolha a guia Trust relationships (Relacionamentos de confiança) e, em seguida, escolha Edit trust policy (Editar política de confiança).

  10. Adicione a seguinte política em linha à sua função 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 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 Lambda, o script lê as variáveis de ambiente do buildspec para encontrar o nome da função Lambda, o nome da variável de ambiente e o valor da variável de ambiente.

Para configurar o buildspec do seu projeto
  1. No CodeBuild console, selecione seu projeto de compilação e escolha Editar e Buildspec.

  2. No Buildspec, escolha Inserir comandos de compilação e, em seguida, Alternar para o 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 Update buildspec (Atualizar buildspec).

Atualize sua configuração do Lambda

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

Para atualizar a configuração da sua função Lambda
  1. Selecione Start build.

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

  3. Selecione Configuração e, em seguida, Variáveis de ambiente. Você deve ver uma nova variável de ambiente com chave FEATURE_ENABLED e valortrue.

Limpe sua infraestrutura

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

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

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

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

Extensões

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 seu buildspec.

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