从 AWS Toolkit for JetBrains 同步 AWS SAM 应用程序
AWS Serverless Application Model(AWS SAM)sam sync
是一个 AWS SAM-CLI 命令部署过程,可自动识别对无服务器应用程序所做的更改,然后选择构建这些更改并将其部署到 AWS Cloud 的最佳方式。如果您只对应用程序代码进行了更改,而没有更改基础架构,AWS SAM Sync 会更新您的应用程序,而不会重新部署 AWS CloudFormation 堆栈。
有关 sam sync
和 AWS SAM CLI 命令的更多信息,请参阅《AWS Serverless Application Model 用户指南》中的 AWS SAM CLI command reference 主题。
以下各节介绍如何开始使用 AWS SAM Sync。
先决条件
在使用 AWS SAM Sync 之前,必须满足以下先决条件:
拥有正常运行的 AWS SAM 应用程序。有关创建 AWS SAM 应用程序的更多信息,请参阅本用户指南中的 Working with AWS SAM 主题。
已安装 AWS SAM CLI 的版本 1.78.0 或更高版本。有关安装 AWS SAM CLI 的更多信息,请参阅《AWS Serverless Application Model 用户指南》中的 Installing the AWS SAM CLI 主题。
应用程序正在开发环境中运行。
注意
要同步和部署包含具有任何非默认属性的 AWS Lambda 函数的无服务器应用程序,必须在部署之前在与 AWS Lambda 函数关联的 AWS SAM 模板文件中设置可选属性。
有关 AWS Lambda 属性的更多信息,请参阅 GitHub 上《AWS Serverless Application Model 用户指南》中的 AWS::Serverless::Function
入门
要开始使用 AWS SAM Sync,请完成以下过程。
注意
确保 AWS 区域设置为与无服务器应用程序关联的位置。
要了解有关从 AWS Toolkit for JetBrains 更改 AWS 区域的更多信息,请参阅本用户指南中的 Switch between AWS Regions 主题。
在项目工具窗口的无服务器应用程序项目中,打开(右键单击)
template.yaml
文件的上下文菜单。在
template.yaml
上下文菜单中,选择同步无服务器应用程序(以前称为“部署”),以打开确认开发堆栈对话框。确认您正在使用开发堆栈打开同步无服务器应用程序对话框。
完成同步无服务器应用程序对话框中的步骤,然后选择同步以开始 AWS SAM Sync 过程。要了解有关同步无服务器应用程序对话框的更多信息,请参阅位于下方的 “同步无服务器应用程序”对话框 部分。
在同步过程中,已使用部署状态更新 AWS Toolkit for JetBrains 运行窗口。
成功同步后,AWS CloudFormation 堆栈的名称已添加到 AWS Explorer。
如果同步失败,可以在 JetBrains 运行窗口或 AWS CloudFormation 事件日志中找到故障排除详细信息。要了解有关查看 AWS CloudFormation 事件日志的更多信息,请参阅本用户指南中的 Viewing event logs for a stack 主题。
“同步无服务器应用程序”对话框
“同步无服务器应用程序”对话框可帮助您完成 AWS SAM 同步过程。以下各节是每个不同对话框组件的描述和详细信息。
创建堆栈或更新堆栈
必需:要创建新的部署堆栈,请在提供的字段中输入名称,以便为无服务器应用程序部署创建和设置 AWS CloudFormation 堆栈。
或者,要部署到现有的 AWS CloudFormation 堆栈,请从与 AWS 账户关联的堆栈自动填充列表中选择堆栈名称。
模板参数
可选:填充从项目 template.yaml
文件中检测到的参数列表。要指定参数值,请在值列中提供的文本字段中输入新的参数值。
S3Bucket
必需:要选择现有 Amazon Simple Storage Service(Amazon S3)存储桶来存储 AWS CloudFormation 模板,请从列表中选择。
要创建并使用新的 Amazon S3 存储桶进行存储,请选择创建并按照提示操作。
ECR 存储库
必需:仅在使用映像包类型时可见:选择现有 Amazon Elastic Container Registry(Amazon ECR)存储库 URI,用于部署无服务器应用程序。
有关 AWS Lambda 包类型的信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 部署包部分。
CloudFormation 功能
必需:选择创建堆栈时允许 AWS CloudFormation 使用的功能。
标签
可选:在提供的文本字段中输入首选标签以标记参数。
在容器内构建函数
可选,Docker 为必需:选择此选项可在部署之前在本地 Docker 容器内构建无服务器应用程序函数。如果函数依赖于具有本地编译的依赖项或程序的包,此选项会很有用。
有关更多信息,请参阅《AWS Serverless Application Model 开发人员指南》中的 Building applications 主题。