选择您的 Cookie 首选项

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

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

使用 Lambda Java 部署 Lam AWS SAM b CodeBuild da 函数

聚焦模式
使用 Lambda Java 部署 Lam AWS SAM b CodeBuild da 函数 - AWS CodeBuild

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

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

AWS Serverless Application Model (AWS SAM) 是一个用于构建无服务器应用程序的开源框架。有关更多信息,请参阅上的AWS Serverless Application Model 存储库 GitHub。以下 Java 示例使用 Gradle 来构建和测试 AWS Lambda 函数。之后,使用 AWS SAM CLI 来部署 AWS CloudFormation 模板和部署包。通过使用 CodeBuild Lambda,构建、测试和部署步骤均可自动处理,从而无需手动干预单个构建即可快速更新基础架构。

设置您的 AWS SAM 存储库

使用 AWS SAM CLI 创建 AWS SAM Hello World项目。

创建您的 AWS SAM 项目
  1. 按照《AWS Serverless Application Model 开发者指南》中的说明在本地计算机上安装 AWS SAM CLI

  2. 运行 sam init 并选择以下项目配置。

    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>
  3. 将 AWS SAM 项目文件夹上传到支持的源存储库。有关支持的源类型的列表,请参阅ProjectSource

创建一个 CodeBuild Lambda Java 项目

创建 AWS CodeBuild Lambda Java 项目并设置构建所需的 IAM 权限。

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

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

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

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

  5. 环境中:

    • 计算中,选择 Lambda

    • 运行时中,选择 Java

    • 对于图片,选择 aws/codebuild/amazonlinux-x86_64-lambda- standard: corretto21。

    • 服务角色中,选中新服务角色。记下角色名称。在本示例稍后更新项目的 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": "", "Effect": "Allow", "Action": [ "cloudformation:*", "lambda:*", "iam:*", "apigateway:*", "s3:*" ], "Resource": "*" } ] }

设置项目 buildspec

为了构建、测试和部署您的 Lambda 函数,请从构建规范中 CodeBuild 读取和执行构建命令。

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

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

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

部署您的 AWS SAM Lambda 基础架构

使用 CodeBuild Lambda 自动部署您的 Lambda 基础架构

部署 Lambda 基础设施
  1. 选择启动构建。这将自动构建、测试您的 AWS SAM 应用程序并将其部署到 AWS Lambda 使用 AWS CloudFormation。

  2. 构建完成后,导航到 AWS Lambda 控制台并在 AWS SAM 项目名称下搜索您的新 Lambda 函数。

  3. 函数概览下面选择 API Gateway,然后单击 API 端点 URL,测试您的 Lambda 函数。您应该会看到一个页面打开,其中包含以下消息:"message": "hello world"

清除基础设施

为避免对您在本教程中使用的资源收取额外费用,请删除由您的 AWS SAM 模板创建的资源,然后 CodeBuild。

清除基础设施
  1. 导航到 AWS CloudFormation 控制台并选择aws-sam-cli-managed-default

  2. 资源中,清空部署存储桶 SamCliSourceBucket

  3. 删除 aws-sam-cli-managed-default 堆栈。

  4. 删除与您的 AWS SAM 项目关联的 AWS CloudFormation 堆栈。此堆栈的名称应与您的 AWS SAM 项目相同。

  5. 导航到 CloudWatch 控制台并删除与您的 CodeBuild 项目关联的 CloudWatch 日志组。

  6. 导航到 CodeBuild 控制台并通过选择删除构建 CodeBuild 项目来删除您的项目

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