gpt4 book ai didi

java - DynamoDB GSI : update indexed attribute, 保留先前的索引条目

转载 作者:行者123 更新时间:2023-12-02 11:25:35 25 4
gpt4 key购买 nike

我有下表:

public class Status {
@DynamoDBHashKey
private String requestId;

@DynamoDBIndexHashKey(globalSecondaryIndexName = TASK_ID_INDEX)
private String taskId;
}

(为简单起见,省略了一些字段)

当我添加 requestId: A, taskId: 1 的条目时,我可以在全局二级索引中看到相应的条目。当我将条目更新为 requestId: A, taskId: 2 时,我仍然在 GSI 中看到一个条目,即 taskId: 2 的条目。

有没有办法在索引中保留两个条目,一个用于 taskId: 1,另一个用于 taskId: 2

最佳答案

您可以将 GSI 视为基础 DynamoDB 表之上的物化 View ,并且 GSI 仅包含基础表中存在的记录。

因此,如果您更新基表中的记录,则更新最终会传播到 GSI,并且您在任何时间点只能有一条记录,无论是旧状态(更新传播之前)还是新状态(更新传播后,但不是两者都传播。

您似乎需要跟踪更改历史记录,这应该是一个单独的表。

关于java - DynamoDB GSI : update indexed attribute, 保留先前的索引条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49654584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com