选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 CodeBuild Lambda Python 更新 Lambda 函数配置

聚焦模式
使用 CodeBuild Lambda Python 更新 Lambda 函数配置 - AWS CodeBuild

以下 Python 示例使用 Boto3 和 CodeBuild Lambda Python 来更新 Lambda 函数的配置。此示例可以扩展为以编程方式管理其他 AWS 资源。有关更多信息,请参阅 Boto3 文档

先决条件

在账户中创建或查找 Lambda 函数。

此示例假设您已经在账户中创建了 Lambda 函数,并将使用 CodeBuild 来更新 Lambda 函数的环境变量。有关通过 CodeBuild 设置 Lambda 函数的更多信息,请参阅 将 AWS SAM 与 CodeBuild Lambda Java 结合使用来部署 Lambda 函数 示例或访问 AWS Lambda

设置源存储库

创建源存储库来存储 Boto3 python 脚本。

设置源存储库。
  1. 将以下 python 脚本复制到名为 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. 将 python 文件上传到支持的源存储库。有关支持的源类型列表,请参阅 ProjectSource

创建 CodeBuild Lambda Python 项目

创建 CodeBuild Lambda Python 项目。

创建 CodeBuild Lambda Java 项目
  1. https://console.aws.amazon.com/codesuite/codebuild/home 打开 AWS CodeBuild 控制台。

  2. 如果显示了 CodeBuild 信息页面,请选择创建构建项目。否则,请在导航窗格中,展开构建,选择构建项目,然后选择创建构建项目

  3. 项目名称中,输入此构建项目的名称。构建项目名称在您的各个 AWS 账户内必须是唯一的。您还可以包含构建项目的可选描述,以帮助其他用户了解此项目的用途。

  4. 中,选择 AWS SAM 项目所在的源存储库。

  5. 环境中:

    • 计算中,选择 Lambda

    • 运行时中,选择 Python

    • 映像中,选择 aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.12

    • 服务角色中,选中新服务角色。记下角色名称。在本示例稍后更新项目的 IAM 权限时,会需要角色名称。

  6. 选择 Create build project(创建构建项目)

  7. 通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  8. 在导航窗格中,选择角色,然后选择与项目关联的服务角色。您可以在 CodeBuild 中找到您的项目角色,方法是选择您的构建项目,依次选择编辑环境服务角色

  9. 选择 Trust relationships(信任关系)选项卡,然后选择 Edit trust policy(编辑信任策略)。

  10. 将以下内联策略附加到您的 IAM 角色。以后要使用该角色来部署 AWS SAM 基础设施。有关更多信息,请参阅《 IAM 用户指南》中的添加和删​​除 IAM 身份权限

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

设置项目 buildspec

为了更新 Lambda 函数,脚本会从 buildspec 中读取环境变量,以便找到 Lambda 函数的名称、环境变量名称和环境变量值。

设置项目 buildspec
  1. 在 CodeBuild 控制台中,选择您的构建项目,然后选择编辑Buildspec

  2. Buildspec 中,选择插入构建命令,然后选择切换到编辑器

  3. 删除预先填入的构建命令并粘贴以下 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. 选择更新 buildspec

更新 Lambda 配置

使用 CodeBuild Lambda Python 自动更新 Lambda 函数的配置。

更新 Lambda 函数的配置
  1. 选择启动构建

  2. 构建完成后,导航到您的 Lambda 函数。

  3. 选择配置,然后选择环境变量。您应该会看到一个具有键 FEATURE_ENABLED 和值 true 的新环境变量。

清除基础设施

为避免对您在本教程中所用资源收取更多费用,请删除 CodeBuild 项目创建的资源。

清除基础设施
  1. 导航到 CloudWatch 控制台,删除与您的 CodeBuild 项目关联的 CloudWatch 日志组。

  2. 导航到 CodeBuild 控制台,然后通过选择删除构建项目来删除您的 CodeBuild 项目。

  3. 如果您为此示例创建了 Lambda 函数,请选择操作删除函数来清理您的 Lambda 函数。

扩展程序

如果您想扩展此示例以使用 AWS CodeBuild Lambda Python 管理其他 AWS 资源,请执行以下操作:

  • 使用 Boto3 更新 Python 脚本来修改新资源。

  • 更新与您的 CodeBuild 项目关联的 IAM 角色以拥有新资源的权限。

  • 将与新资源关联的所有新环境变量添加到 buildspec 中。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。