pynamodb - 仅使用哈希键获取数据库条目

时间:2017-09-30 18:50:05

标签: python amazon-web-services amazon-dynamodb boto3

使用pynamodb,我希望获得与表中某个哈希键匹配的所有范围键。

我知道我可以进行扫描,然后过滤掉与散列键匹配的条目,如下所示:

from pynamodb.models import Model 
from pynamodb.attributes import UnicodeAttribute

class Users(Model):
    class Meta:
        table_name = 'user_posts'
    username = UnicodeAttribute(hash_key=True)
    post_id = UnicodeAttribute(range_key=True)

# Get all post_id's for a username
user = 'johndoe22'
posts = []

for entry in Users.scan():
    if entry.username == user:
        posts.append(entry.post_id)

我想将过滤逻辑移到查询级别,因此我不必下载数据库的全部内容。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您需要使用查询而不是扫描操作。我不熟悉python所以我无法帮助你,但扫描操作很可能不是你想要使用范围/散列键查询时想要使用的查看操作: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html