AWS SAM - 无法创建变更集:Waiter ChangeSetCreateComplete failed

Posted

技术标签:

【中文标题】AWS SAM - 无法创建变更集:Waiter ChangeSetCreateComplete failed【英文标题】:AWS SAM - Failed to create the changeset: Waiter ChangeSetCreateComplete failed 【发布时间】:2019-02-13 13:48:12 【问题描述】:

AWS SAM 使用 aws-sam-cli 将代码库部署到 AWS 云,但它使我出现以下错误。

Failed to create the changeset: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state Status: FAILED. Reason: Requires capabilities : [CAPABILITY_IAM]

【问题讨论】:

【参考方案1】:

在创建或部署堆栈时,您需要明确允许创建 IAM 资源。为此,您需要在调用sam deploy时添加参数:

--capabilities CAPABILITY_IAM

如果您想创建命名的 IAM 资源(例如,您明确指定名称的角色或用户),您需要改用 --capabilities CAPABILITY_NAMED_IAM

您可以在此处阅读有关在 CloudFormation 中部署 IAM 资源的更多信息:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities

SAM 部署文档:https://github.com/awslabs/aws-sam-cli/blob/develop/docs/deploying_serverless_applications.rst#deploying-your-application

【讨论】:

感谢 --capabilities CAPABILITY_IAM 标志的工作正常【参考方案2】:

请检查您的 YAML 文件缩进。再次检查 YAML 文件,如果它有点不符合 SAM 标准,它将引发此错误。请再次检查。

【讨论】:

以上是关于AWS SAM - 无法创建变更集:Waiter ChangeSetCreateComplete failed的主要内容,如果未能解决你的问题,请参考以下文章

AWS SAM 部署错误 - 验证错误 | CreateChangeSet 操作错误

AWS SAM 模板 - 本地测试

尝试使用“brew tap aws/tap”命令在 ubuntu 上通过 brew 安装 aws-sam-cli,出现错误“致命:无法将 HEAD 解析为修订版”

使用 aws cdk 创建 sam canary 部署

如何在同一 AWS 账户和区域中部署同一堆栈集的多个实例?

AWS Sam 部署失败