Q37 — AWS SAA-C03 第17章

第 37/89 题 | ← 返回第17章

Q1337. 一家公司正在开发一款移动金融应用,用户可以注册并存储个人信息。该应用使用 Amazon DynamoDB 表来存储用户详细信息和偏好设置。应用利用 DynamoDB 中存储的数据生成信用评分报告,并每月向用户发送一次信用评分报告。公司需要为用户提供删除数据和偏好设置的选项。应用程序必须在收到删除请求后一个月内删除客户数据。哪种解决方案能够以最低的运营成本满足这些要求?

正确答案: C. 在 DynamoDB 中启用 TTL(生存时间)。将过期日期设置为一个属性。创建一个 AWS Lambda 函数,根据过期日期值设置 TTL。当用户请求删除个人数据时,调用 Lambda 函数。

解析

A 或 C。启用 DynamoDB TTL 是在指定过期时间后删除项目的开销最低的原生机制。当用户请求删除时,应用程序可以设置过期时间戳属性 (TTL);DynamoDB 会自动使项目过期(通常在时间戳后的 48 小时内,但您可以设置时间戳,以便在所需的一个月窗口期内实际删除)。选项 C 仅使用 Lambda 函数在用户请求删除时设置 TTL 属性——只需极少的额外基础设施和代码。无需轮询,无需额外的事件编排,删除操作由 DynamoDB 处理。其他选项为何不太合适:答:EventBridge 本身不会在 DynamoDB TTL 过期时触发;构建一个在 TTL 过期时运行的规则并不是 TTL 的显示方式,需要额外的自定义调度/管理。- B:DynamoDB Streams 不会发出 TTL 过期事件(过期项是异步删除的,不会出现在流中),因此这种方法无法可靠地工作。- D:AWS Config 无法检测单个项目的 TTL 过期时间,因此不适用于按项目删除工作流;使用 Config 会增加不必要的复杂性。