这个蓝图
这个"蓝图"生成了一个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
您可以选择上面的任何一种作为编程语言.

连接和权限
配置您的 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用户指南".