AmazonAmazon Solution Architect Professional SAP-C02 Certification
·CN
·更新于 1 Aug 2026
一个多层应用程序将临时数据存储在 S3 对象中,这些对象有效期为 45 分钟,并且必须在 24 小时后删除。每个应用程序版本都通过 CloudFormation 堆栈部署,当删除旧堆栈时,CloudFormation 无法删除 S3 存储桶,导致堆栈删除失败。在不进行重大架构更改的情况下,如何解决这个问题?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 实现一个 Lambda 函数,删除指定 S3 存储桶中的所有对象。将该 Lambda 作为自定义资源集成到 CloudFormation 模板中,并添加一个引用 S3 存储桶资源的 DependsOn。.
为什么这是答案
正确答案通过在 CloudFormation 堆栈删除前清空 S3 存储桶来解决问题。S3 存储桶在包含对象时无法删除,导致堆栈删除失败。将 Lambda 函数作为自定义资源集成到 CloudFormation 模板中,并在删除操作时触发该函数来清空存储桶,然后 CloudFormation 就能成功删除空存储桶。DependsOn 确保 Lambda 在存储桶之前被处理。
其他选项不正确:
使用 EFS 会引入重大的架构更改,不符合“不进行重大架构更改”的要求。
S3 生命周期规则只会过期对象,不会立即删除它们,因此在堆栈删除时存储桶可能仍包含对象。此外,生命周期规则通常用于管理对象的生命周期,而不是解决堆栈删除时的依赖问题。
将 DeletionPolicy 设置为 Delete 仅在存储桶为空时才有效。如果存储桶包含对象,CloudFormation 仍会因为存储桶非空而无法删除。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 →
无需银行卡