如何撤消AWS堆栈回滚?

And*_*ndy 4 amazon-s3 amazon-web-services amazon-cloudfront aws-lambda

我一直在遵循这些指示. https://cloudonaut.io/serverless-image-resizing-at-any-scale/

我想创建一个堆栈,将图像保存在一个S3存储桶中,调整它们大小并将它们保存到另一个存储桶.我按照说明操作,除了它创造了一些我不想要的水桶之外,它完美无缺.我以为我会删除它们,回滚堆栈并从头开始.回滚很顺利.

我创建了一个新的堆栈,但现在当我检查新的堆栈状态时,我在AWS CLI中收到以下消息:

[
    "ROLLBACK_COMPLETE"
]
Run Code Online (Sandbox Code Playgroud)

我尝试创建具有不同名称的堆栈,但所有堆栈具有相同的状态.

有任何想法吗?是否可以取消回滚?是否可以删除对该堆栈的所有引用,以便创建一个新的引用?

Mat*_*ser 7

无法解压缩.

您可以做的是将CloudFormation模板更新为所需状态,然后更新堆栈.这会将堆栈"向前"移动到所需状态.

您可以使用AWS管理控制台或使用aws cloudformation delete-stackCLI命令完全删除堆栈.

http://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html

这将允许您创建具有相同名称的新堆栈.

请注意,删除堆栈将删除该堆栈创建的所有资源,包括S3存储桶等.

此外,为了成功删除s3存储桶,存储桶需要完全清空.因此,在删除堆栈之前清空所有S3存储桶.


And*_*ndy 3

所以,我找到了解决方案。我按照苏莱曼图雷的建议检查了控制台。当我检查它时,我发现脚本会失败,开始回滚它开始进行的更改,然后删除。当我检查状态时,它显示“正在回滚”,因为当时它正在回滚。如果我再等 20 分钟,我会看到回滚已完成,堆栈将不再存在。

至于是什么原因导致它失败。这是愚蠢的事情。我在 S3 的北美实例上创建了存储桶。这将允许我使用大写字母(大写)。我可以手动创建带有大写字母的存储桶。当我尝试使用 CLI 创建存储桶时,它还允许我创建大写的存储桶。但是,当脚本尝试创建大写存储桶时,它失败了,因为不允许使用大写字符。一旦我删除了大写字母,它就会毫无困难地创建堆栈。

我不知道为什么脚本会因此而失败,它就是失败了。不过,我现在可以使用小写字母,这对我来说已经足够了。:)