登录
首页 >  Golang >  Go问答

如何在 Go 中从 DynamoDB 表中删除多个项目

来源:stackoverflow

时间:2024-04-07 15:00:38 126浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何在 Go 中从 DynamoDB 表中删除多个项目》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我有一个 dynamodb 表,其中包含如下项目:

type AuthEntry struct {
    UserID    string    `dynamodbav:"userId"`
    Token     string    `dynamodbav:"token"`
    CreatedOn time.Time `dynamodbav:"createdOn"`
}

我需要删除所有超过 5 分钟的 authentry 项目(createdon < 现在 - 5 分钟)并且没有令牌(token 为空)。我很清楚如何一次删除一个项目......但我想知道如何一次删除多个项目。非常感谢你。


解决方案


当涉及到删除时,您有几种选择。

deleteItem - 通过主键删除表中的单个项目。

batchWriteItem - BatchWriteItem 操作会在一个或多个表中放置或删除多个项目。对 BatchWriteItem 的单次调用最多可写入 16 MB 数据,其中最多可包含 25 个放置或删除请求

TimeToLive - 您可以利用 DynamoDB 生存时间 (TTL) 功能删除不再需要的项目。请记住,TTL 仅将您的项目标记为要删除,实际删除可能最多需要 48 小时。

我不确定表中的哪些项目是主键的一部分,因此很难为您提供示例。但是,此操作是一次删除多个项目的首选方法。

好了,本文到此结束,带大家了解了《如何在 Go 中从 DynamoDB 表中删除多个项目》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>