如何使用散列键检索所有条目作为dynamo DB中的特定模式?

cod*_*der 4 data-retrieval amazon-dynamodb

我是亚马逊网络服务的新手.我想检索dynamo DB表中的所有条目,这些条目在其哈希键中有特定的单词.它类似于在oracle DB中使用like运算符.我该怎么做?如果不可能,我如何检索表中的所有条目而不对散列键给出任何约束,以便稍后我可以遍历所有条目以匹配单词?

yad*_*taf 14

一般DynamoDB的想法:

请不要像使用MySQL那样考虑DynamoDB.DynamoDB 只是一个关键:值存储有一些细节.

关键的基础:价值存储是:

要么你知道钥匙,要么得到你的价值;

要么你没有,你得到整个表.

在DynamoDB特定情况下,您可以

  1. 获取知道整个键的项目 GetItem
  2. 检索给定的所有项目hash_key,可能应用过滤器Query
  3. 检索整个表,可能应用过滤器 Scan

这说,Scan缓慢昂贵.你永远不应该使用它,否则你的设计很可能是错误的.

特定于您的问题:

在您的情况下,听起来您会想要将您的密钥分成一个

  • hash_key
  • range_key

然后你可以使用Query所有项目共享hash_key.有了Query,您可以应用过滤器BEGINS_WITH来缩小范围.

请注意,所有(hash_key,range_key)元组都必须是唯一的.