问题描述
我创建了一个没有 DeletionPolicy 的存储桶并想添加它。更新了我们的配置(在我们的 serverless.yml 中),现在我们可以在云格式模板中看到 DeletionPolicy: retain
。
然而,基于this blurb:
更新模板工作流程中的一个怪癖是 DeletionPolicy 不能自行更新,但必须伴随一些其他更改 “添加、修改或删除现有资源的属性”。一个有趣的事实 关于 AWS::S3::Bucket 资源:之后无法更新 创建。好消息:这不适用于 DeletionPolicy 属性。坏消息:CFN 不会接受更改,除非另一个 “不可变”S3 存储桶的属性已更新。
我已经搜索了很长时间,但我无法确定如何查询 S3 存储桶并确定是否实际上设置了 DeletionPolicy
。我没有看到它在 AWS 控制台中的哪里公开,也没有在 AWS cli 中看到可以查询的地方。据我所知,它似乎不在 Bucket Policy 中。
如何验证 DeletionPolicy
是否已实际设置?
解决方法
我认为 linked article(自 2014 年 1 月 12 日起)已过时。我只是做了以下事情:
部署了一个包含
的堆栈MyBucket:
Type: AWS::S3::Bucket
.
.
.
验证部署成功,然后部署
MyBucket:
Type: AWS::S3::Bucket
DeletionPolicy: Retain
.
.
.
验证它部署成功,然后删除了我的堆栈,并验证了 MyBucket
仍然存在于 S3 中。