# @amazon-codecatalyst/blueprints\.sam-serverless-application 中文文档

规范地址：https://npmcn.com/package/%40amazon-codecatalyst/blueprints.sam-serverless-application/

版本：0\.3\.159
npm 元数据更新时间：2026-08-24T15:16:31.916Z
中文译文更新时间：2026-11-06T01:42:38.986Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40amazon-codecatalyst/blueprints.sam-serverless-application
原文对照：https://npmcn.com/package/%40amazon-codecatalyst/blueprints.sam-serverless-application/?lang=original
项目主页：https://aws.amazon.com/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：39.1 MB，672 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：9 个
- peer 依赖：@amazon-codecatalyst/blueprint-util\.cli \*
- 首次发布：2023-09-26T03:32:02.131Z
- 最新版本发布：2026-08-24T15:16:31.741Z
- 近 30 天下载量：7171（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：158（近 12 个月 4 个）

## 中文简介

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

## 安装

```sh
npm install @amazon-codecatalyst/blueprints.sam-serverless-application
```

也可以使用：`pnpm add @amazon-codecatalyst/blueprints.sam-serverless-application`、`yarn add @amazon-codecatalyst/blueprints.sam-serverless-application`、`bun add @amazon-codecatalyst/blueprints.sam-serverless-application`

## README

## 这个蓝图

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

无服务器应用程序是AWS Lambda函数,事件源,和其他资源的组合,共同执行任务. A 类 无服务器应用程序也可以包括额外的资源,如API,数据库,以及事件源映射. 关于无服务器的更多信息 应用程序,参见 [AWS 无服务器应用程序模型( SAM) 开发者指南](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)

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

### 结构概览

本项目使用:

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

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

![Architecture diagram](https://dehz9bo9d1ho5.cloudfront.net/SAM_arch.png)

### 连接和权限

配置您的 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 开发者指南](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)
    
-   亚马逊 API Gateway - 一个以任何尺度创建,发布,维护,监控,以及安全REST,HTTP,和WebSocket API的资源. 为了更多 aPI Gateway上的信息,参见 [AWS API 网关开发者指南](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html)
    
-   IAM角色(s) - 一种确保控制下访问AWS资源的资源,如AWS Lambda函数. 关于IAM的更多信息,请参见: [AWS IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)
    

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

这个蓝图创建了以下亚马逊代码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 是什么？

这个蓝图创建了一个利用一个无服务器应用模型\(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 和提交记录判断。

