使用 LSI 的 Dynamo DB 批量调用
Dynamo DB Batch Call with LSI
我有一个 table,其中 customerId 和 orderId 分别作为主分区键和排序键。
我在 CustomerID 和 ProductID 上有 LSI。
是否可以为特定 customerId 批量调用多个 ProductId?
是否仅对键列支持批处理调用?或者也可以基于LSI进行批量调用?
BatchGet 只能在 table 上进行,不能在任何索引上进行。我认为这是因为键的唯一性只对 table 的键强制执行,而不是任何索引键。
如果您只想return每个 ProductId 和 CustomerId 的特定项目,则必须进行多次查询调用,并在每个查询调用中指定一个 productId。
或者,您可以在订购时查询第一个和最后一个 ProductId 之间的所有 ProductId。即,如果您需要 ProductIds 1、5、10、13、14,您可以为客户查询 1 到 14 之间的所有 ProductIds。
我有一个 table,其中 customerId 和 orderId 分别作为主分区键和排序键。 我在 CustomerID 和 ProductID 上有 LSI。
是否可以为特定 customerId 批量调用多个 ProductId? 是否仅对键列支持批处理调用?或者也可以基于LSI进行批量调用?
BatchGet 只能在 table 上进行,不能在任何索引上进行。我认为这是因为键的唯一性只对 table 的键强制执行,而不是任何索引键。
如果您只想return每个 ProductId 和 CustomerId 的特定项目,则必须进行多次查询调用,并在每个查询调用中指定一个 productId。
或者,您可以在订购时查询第一个和最后一个 ProductId 之间的所有 ProductId。即,如果您需要 ProductIds 1、5、10、13、14,您可以为客户查询 1 到 14 之间的所有 ProductIds。