der*_*rng 4 amazon-dynamodb dynamodb-queries
根据文档,我了解 PrimaryKey PK 和 SortKey SK 无法在主表上更新。然而,这对于 GlobalSecondaryIndex (GSI) 来说并不清楚,更新 GSI SK 似乎可以(如果我错了,请纠正我)。
假设我有以下帐户表,其中我们有以下 PK (ID) + SK (createdAt)
id createdAt email username
21 20220101 abc@xyz.com blah1
22 20220102 123@xyz.com blah2
...
Run Code Online (Sandbox Code Playgroud)
如果我想通过电子邮件建立索引,我可以创建一个 GSI,其中电子邮件是 PK,createdAt 是 SK。
我们如何处理允许用户更改电子邮件或用户名的情况?
GSI 不直接接受写入,但您可以通过编辑基表中的项目来更新 GSI 项目的键。
请注意,执行此操作时可能会出现潜在的“写入放大”,因为对基表的一次写入会导致对 GSI 的两次写入:旧键下的删除和新键下的插入。这一切都是自动为您完成的。
| 归档时间: |
|
| 查看次数: |
1896 次 |
| 最近记录: |