@amazon-codecatalyst/blueprints.sam-serverless-application

中文文档
0.3.159发布于 2026/08/24Apache-2.0TypeScriptCommonJS近 30 天下载 7171

这个蓝图创建了一个利用一个无服务器应用模型(SAM)快速创建和部署API的项目. 您可以选择 Java、 TypeScript 或 Python 作为编程语言

中文使用文档
文档目录8 节
  1. 这个蓝图
  2. 结构概览
  3. 连接和权限
  4. IAM 角色信托政策
  5. 部署作用政策
  6. 建立作用政策
  7. 项目资源
  8. 额外资源

这个蓝图

这个"蓝图"生成了一个AWS无服务器应用模型(SAM)项目.

无服务器应用程序是AWS Lambda函数,事件源,和其他资源的组合,共同执行任务. A 类 无服务器应用程序也可以包括额外的资源,如API,数据库,以及事件源映射. 关于无服务器的更多信息 应用程序,参见 AWS 无服务器应用程序模型( SAM) 开发者指南

该项目使用亚马逊CodeCatalyst环境,将一个带有AWS Lambda和亚马逊API Gateway的SAM应用程序部署到亚马逊CloudFront URL上. 创建您的项目后, 您可以查看您的存储器、 源代码以及连续集成和连续发送( CI/ CD) 工作流程 项目。 在您的工作流程运行成功后, 您已部署 AWS 云发展工具包(CDK) 应用程序 URL 在您工作流程的输出下可用.

结构概览

本项目使用:

  • 节点.js 14
  • 爪哇语 11
  • Py 3.9

您可以选择上面的任何一种作为编程语言.

Architecture diagram

连接和权限

配置您的 AWS 账户连接 AWS 账户 选项卡。 在账户扩展名中添加 AWS IAM 角色 授权项目工作流程访问 AWS 账户资源.

SAM应用程序需要以下IAM角色来构建并部署应用程序:

IAM 角色信托政策

{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Sid": "CodeCatalyst",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "codecatalyst-runner.amazonaws.com",
                  "codecatalyst.amazonaws.com"
              ]
          },
          "Action": "sts:AssumeRole"
      }
  ]
}

部署作用政策

根据上述信托政策发挥作用,并增加下列内在政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "iam:PassRole",
                "iam:DeleteRole",
                "iam:GetRole",
                "iam:TagRole",
                "iam:CreateRole",
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy",
                "cloudformation:*",
                "lambda:*",
                "apigateway:*"
            ],
            "Resource": "*"
        }
    ]
}

注:如果添加了更多资源,您必须更新策略.

建立作用政策

根据上述信托政策发挥作用,并增加下列内在政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "cloudformation:*"
            ],
            "Resource": "*"
        }
    ]
}

项目资源

在成功创建之后,该项目部署以下AWS资源:

  • AWS Lambda 函数 - 在高可用性计算基础设施上引用您代码的资源, 不提供或管理服务器 . 关于AWS Lambda的更多信息,请参见: AWS Lambda 开发者指南

  • 亚马逊 API Gateway - 一个以任何尺度创建,发布,维护,监控,以及安全REST,HTTP,和WebSocket API的资源. 为了更多 aPI Gateway上的信息,参见 AWS API 网关开发者指南

  • IAM角色(s) - 一种确保控制下访问AWS资源的资源,如AWS Lambda函数. 关于IAM的更多信息,请参见: AWS IAM 用户指南

部署情况可在项目工作流程中查看.

这个蓝图创建了以下亚马逊代码Catalyst资源:

  • 命名源寄存器 HelloWorld - 存储、版本和管理项目资产的Git仓库.

    • template.yaml - 定义应用程序的AWS资源的模板,包括AWS Lambda函数,Amazon API Gateways,以及IAM角色.
    • devfile.yaml - 定义为云而建的 Dev Environments 或 开发环境的 devfile.

    关于源寄存器的更多信息,请参见 与源寄存器合作 节次 亚马逊代码Catalyst 用户指南。 。 。 .

  • 定义的工作流程 .codecatalyst/workflows/build-and-release.yaml

    一个工作流程是定义如何构建,测试和部署无服务器应用程序的自动化程序. 更多信息,请参见 构建, 测试,并应用工作流程 页:1 亚马逊代码Catalyst 用户指南。 。 。 .

  • 环境 - 部署应用程序的基础设施资源的抽象化。 您可以使用环境来组织部署 进入生产或非生产环境的行动.

    关于环境的更多信息,请参见: 利用环境组织部署 节次 亚马逊代码Catalyst 用户指南。 。 。 .

  • Dev Environment - 基于云的发展环境. 一个 Dev 环境必须使用生成的 Dev 文件手动创建 亚马逊CodeCatalyst的环境运营.

    关于创建 Dev Environments 的更多信息,见 与开发环境合作 节次 亚马逊代码Catalyst 用户指南。 。 。 .

额外资源

关于使用亚马逊CodeCatalyst的地物和资源的更多信息,请参见"亚马逊 CodeCatalyst用户指南".

版本与发布记录

@amazon-codecatalyst/blueprints.sam-serverless-application 共发布 158 个版本,首次发布于 2023/09/26;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.3.159latest2026/08/242 个月前
0.3.1582026/08/222 个月前
0.3.1572026/08/152 个月前
0.3.1562026/07/074 个月前
0.3.1552025/01/081.8 年前
0.3.1542024/10/022 年前

关于 @amazon-codecatalyst/blueprints.sam-serverless-application 的常见问题

@amazon-codecatalyst/blueprints.sam-serverless-application 是什么?

这个蓝图创建了一个利用一个无服务器应用模型(SAM)快速创建和部署API的项目. 您可以选择 Java、 TypeScript 或 Python 作为编程语言

如何安装 @amazon-codecatalyst/blueprints.sam-serverless-application?

在项目目录运行 npm install @amazon-codecatalyst/blueprints.sam-serverless-application,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@amazon-codecatalyst/blueprint-util.cli(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@amazon-codecatalyst/blueprints.sam-serverless-application 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@amazon-codecatalyst/blueprints.sam-serverless-application 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@amazon-codecatalyst/blueprints.sam-serverless-application 可以商用吗?

@amazon-codecatalyst/blueprints.sam-serverless-application 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@amazon-codecatalyst/blueprints.sam-serverless-application 的下载量有多少?

根据 npm 官方下载统计,@amazon-codecatalyst/blueprints.sam-serverless-application 在 2026/10/06 – 2026/11/04 这 30 天内被下载 7,171 次,日均约 239 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@amazon-codecatalyst/blueprints.sam-serverless-application 还在维护吗?

最新版本 0.3.159 发布于 2026/08/24(2 个月前);至今共发布 158 个版本,其中过去 12 个月发布了 4 个;首次发布于 2023/09/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。