Q42 — AWS SAA-C03 第2章
第 42/65 题 | ← 返回第2章
Q107.一家公司在大量 Amazon EC2 实例上运行应用程序.该应用程序在 Amazon DynamoDB 表中读取和写入条目. DynamoDB 表的大小不断增长,但应用程序只需要最近 30 天的数据.公司需要一种能够最大限度地减少成本和开发工作的解决方案.哪个解决方案满足这些要求?
- A. 使用 AWS CloudFormation 模板部署完整的解决方案.每 30 天重新部署一次 CloudFormation 堆栈,并删除原始堆栈.
- B. 使用从 AWS Marketplace 运行监控应用程序的 EC2 实例.配置监控应用程序以使用 Amazon DynamoDB Streams 在表中创建新项目时存储时间戳.使用在 EC2 实例上运行的脚本删除时间戳超过 30 天的项目
- C. 配置 Amazon DynamoDB Streams 以在表中创建新项目时调用 AWS Lambda 函数.配置 Lambda 函数以删除表中超过 30 天的项目
- D. 扩展应用程序以将值为当前时间戳加上 30 天的属性添加到表中创建的每个新项目.配置 DynamoDB 以将该属性用作 TTL 属性. ✓
正确答案: D. 扩展应用程序以将值为当前时间戳加上 30 天的属性添加到表中创建的每个新项目.配置 DynamoDB 以将该属性用作 TTL 属性.
解析
D 是正确的. Amazon DynamoDB 生存时间 (TTL) 允许您定义每个项目的时间戳以确定何时不再需要某个项目.在指定时间戳的日期和时间后不久,DynamoDB 会从您的表中删除该项目,而不会消耗任何写入吞吐量. TTL 是免费提供的一种方法,通过仅保留满足工作负载需求的最新项目来减少存储的数据量.如果您存储在特定时间后失去相关性的项目,则 TTL 很有用.以下是示例 TTL 用例:应用程序闲置一年后删除用户或传感器数据.通过 Amazon DynamoDB Streams 和 AWS Lambda 将过期项目存档到 Amazon S3 数据湖.根据合同或监管义务,将敏感数据保留一定时间. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html