使用AWS Ruby SDK(或者一般只是DynamoDB)是否可以从仅使用主键的表中获取一个或多个项目,以及该主键以某个字符串结尾的位置?
我没有在文档中遇到明确回答此问题的任何内容,无论是在ruby ddb文档中还是在ddb的常规文档中。我不是说问题没有得到解答,但如果是,我就找不到了。
如果有可能,有人可以提供ruby的示例或链接到存在示例的文档吗?
答案 0 :(得分:3)
看起来您希望在SDK上使用Query方法来查找您要查找的项目。似乎" EndsWith"但是在SDK中不能用作比较运算符。因此,您需要使用CONTAINS,然后在本地检查您的结果。
这应该会带来最佳性能,让DynamoDb做最初的繁重工作,然后在收到结果后进一步修剪结果。
http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Client.html#query-instance_method
答案 1 :(得分:1)
虽然@Ryan是正确的,可以使用query
完成,但请记住,您正在进行“全表扫描”。这对于一次性工作来说可能没问题,但可能不是常规任务的最佳实践(当然也不是API调用的一部分)。
如果您的用例涉及根据特定字段中的后缀快速查找对象,请考虑将此后缀(假设它是固定大小的后缀)作为另一个字段提取并在该字段上具有二级索引。如果你想查询任意长度的后缀,我会创建一个查找表并用可能的后缀(或其中一些,以保存一些调用,然后在查询时进行过滤)更新它。