首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当范围键是版本号时,如何在DynamoDB中获得范围键的最高值?

当范围键是版本号时,如何在DynamoDB中获得范围键的最高值?
EN

Stack Overflow用户
提问于 2020-06-17 15:56:29
回答 1查看 413关注 0票数 0

我创建了一个服务X,其中包含一些数据的记帐请求来自许多其他服务Y。我通过添加许多属性来创建一个 idempotent_id ,从而使该idempotent_id保持惟一性。我还创建了一个idempotent_version并将其设置为1,将此记录存储到dynamoDB中(使用idempotent_id和idempotent_version作为分区键和排序键)。现在,我用这个和idempotent_version调用其他一些服务idempotent_id Z idempotent_version。一段时间后,假设请求具有相同的数据,我将创建idempotent_id,但它将与以前一样,因为我们正在处理相同的记录。现在,我必须创建idempotent_version,在本例中为2,因为前面有相同的请求(,如果n-1请求已经出现,这可以是n)。如何才能找到当前数据记录的idempotent_version,因为我将用此版本将数据存储到dynamoDB中,并使用此版本调用服务Z。(,适用于当前场景,为2)

EN

回答 1

Stack Overflow用户

发布于 2020-06-17 17:59:53

这些文档有一个节使用排序键进行版本控制

基本上,当您创建v1时,也可以将其作为v1的副本创建为v0。版本0将永远是最近的版本。v0的另一个属性命名为“最新”,并将从1开始。

所以当v2来的时候..。

代码语言:javascript
复制
GetItem(hash:v0)
PutItem(hash:v2)
Copy v2 to v0, update "Latest" to 2
UpdateItem(hash:v0)

有了新的事务支持,您可以确保v2的Put和v0的更新是一致的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62433213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档