某个应用程序从 DynamoDB 表中读取项目,其中每个项目都有一个 expirationDate 时间戳属性。该应用程序通过此时间戳查找项目以进行归档,然后将其删除。该应用程序即将停用,开发人员需要一种低代码替代方案来实现此行为。哪种方法需要最少的新代码量?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 在 expirationDate 属性上启用 DynamoDB TTL。启用 DynamoDB 流并创建一个由该流触发的 Lambda,以处理已删除的项目。.
为什么这是答案
正确答案是:在 expirationDate 属性上启用 DynamoDB TTL。启用 DynamoDB 流并创建一个由该流触发的 Lambda,以处理已删除的项目。 启用 DynamoDB TTL(Time to Live)是实现自动删除过期项目的最简单、代码量最少的方法。当项目过期并被 TTL 删除时,DynamoDB 流会捕获这些删除事件。然后,您可以配置一个 Lambda 函数来订阅此流,并在删除事件发生时处理这些已删除的项目,例如将其归档到 S3。这直接满足了“低代码替代方案”和“处理已删除的项目”的需求。 其他选项的缺点: 创建两个 Lambda 并手动删除项目:这需要编写代码来扫描表并调用 DeleteItem 操作,增加了代码复杂性,不符合“低代码”要求。 使用 EventBridge 计划规则:同样需要编写代码来扫描和删除项目,并且计划规则可能无法精确地在项目过期时立即触发删除。 配置 SQS 死信队列作为删除项目的目标:DynamoDB TTL 不支持将删除的项目直接发送到 SQS 死信队列。TTL 删除的项目事件只能通过 DynamoDB 流捕获。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡