是否可以从主键以给定字符串结尾的 DynamoDB 获取项目?
Is it possible to get items from DynamoDB where the primary key ends with a given string?
是否有可能使用 AWS Ruby SDK(或通常只是 DynamoDB)从仅使用主键的 table 中获取一个或多个项目,以及该主键在哪里键以某个字符串结尾?
我没有在 ruby ddb 文档或 ddb 的一般文档中找到任何明确回答这个问题的文档。我不是说这个问题没有答案,但如果是的话,我找不到它。
如果可能的话,有人可以向存在示例的文档提供 ruby 或 link 的示例吗?
您似乎想使用 SDK 上的查询方法来查找您要查找的项目。不过,"EndsWith" 似乎不能用作 SDK 中的比较运算符。所以你需要使用 CONTAINS 然后在本地检查你的结果。
这应该会带来最佳性能,让 DynamoDb 完成最初的繁重工作,然后在收到结果后进一步修剪。
http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Client.html#query-instance_method
虽然@Ryan 是正确的并且可以使用 query
来完成,但请记住您在这里做的是 "full-table-scan"。这对于一次性工作来说可能没问题,但可能不是例行任务的最佳做法(当然也不能作为 API 电话的一部分)。
如果您的用例涉及根据对象在特定字段中的后缀快速查找对象,请考虑将此后缀(假设它是固定大小的后缀)提取为另一个字段,并在该字段上建立二级索引。如果你想查询任意长度的后缀,我会创建一个查找 table 并用可能的后缀更新它(或其中一些,以节省一些调用,然后在查询时进行过滤)。
是否有可能使用 AWS Ruby SDK(或通常只是 DynamoDB)从仅使用主键的 table 中获取一个或多个项目,以及该主键在哪里键以某个字符串结尾?
我没有在 ruby ddb 文档或 ddb 的一般文档中找到任何明确回答这个问题的文档。我不是说这个问题没有答案,但如果是的话,我找不到它。
如果可能的话,有人可以向存在示例的文档提供 ruby 或 link 的示例吗?
您似乎想使用 SDK 上的查询方法来查找您要查找的项目。不过,"EndsWith" 似乎不能用作 SDK 中的比较运算符。所以你需要使用 CONTAINS 然后在本地检查你的结果。
这应该会带来最佳性能,让 DynamoDb 完成最初的繁重工作,然后在收到结果后进一步修剪。
http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Client.html#query-instance_method
虽然@Ryan 是正确的并且可以使用 query
来完成,但请记住您在这里做的是 "full-table-scan"。这对于一次性工作来说可能没问题,但可能不是例行任务的最佳做法(当然也不能作为 API 电话的一部分)。
如果您的用例涉及根据对象在特定字段中的后缀快速查找对象,请考虑将此后缀(假设它是固定大小的后缀)提取为另一个字段,并在该字段上建立二级索引。如果你想查询任意长度的后缀,我会创建一个查找 table 并用可能的后缀更新它(或其中一些,以节省一些调用,然后在查询时进行过滤)。