AWSSAM 使用 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]
创建或部署堆栈时,需要明确允许创建 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
请检查您的 YAML 文件缩进。 再次查看 YAML 文件,如果它有点不符合 SAM 标准,它将引发此错误。请再次检查。
在 cloudformation 中搜索堆栈并将其删除,然后尝试再次运行该命令,这有助于我解决问题