检查dynamodb中唯一的hash_key - python

zeb*_*bra 2 python boto amazon-dynamodb

我正在尝试使用 boto 检查 dynamodb 中 hash_key 的存在(如果存在,我无法更新我的文件)我尝试查询

   for i in self.table.query(hask_key=[value]):
      print i['url']
Run Code Online (Sandbox Code Playgroud)

但我想念一个论点(???)。我尝试过扫描,但我需要检查我的 hash_key,而不是属性。

我已经尝试过 get_item 但如果 hash_key 不存在,我将无法管理响应。

有什么建议吗?

我玩过 redis,它有存在的方法。

gar*_*aat 6

与其进行查询操作,不如尝试使用 检索项目get_item。如果存在,该项目将被退回。如果没有,呼叫将引发DynamoDBKeyNotFoundError您可以接听的 a 。所以,像这样:

def exists(hash_key):
    try:
        item = self.table.get_item(hash_key=<hash key>...)
    except boto.dynamodb.exceptions.DynamoDBKeyNotFoundError:
        item = None
    return item
Run Code Online (Sandbox Code Playgroud)

如果散列不存在,则返回 None ,如果确实存在,则返回该项目。