选择您的 Cookie 首选项

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

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

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

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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

先决条件

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

此示例假设您已经在账户中创建了一个 Lambda 函数,并将用于 CodeBuild 更新 Lambda 函数的环境变量。有关通过设置 Lambda 函数的更多信息 CodeBuild,请参阅使用 Lambda Java 部署 Lam AWS SAM b CodeBuild da 函数示例或访问。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

    • 对于 Image,选择 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. 选择 Update 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. 或其附属公司。保留所有权利。