2013-04-03 32 views
0

我試圖來檢查HASH_KEY的存在與博託dynamodb(如果存在,我不能更新我的申請) 我已經嘗試查詢入住獨特HASH_KEY - 蟒蛇

for i in self.table.query(hask_key=[value]): 
     print i['url'] 

但我錯過了一個論點(???)。 我試過掃描,但我需要檢查我的hash_key,而不是屬性。

我試着用get_item,但如果hash_key不存在,我無法管理響應。

有什麼建議嗎?

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

回答

3

與其執行查詢操作,您應該嘗試使用get_item來檢索該項目。如果存在,該項目將被退回。如果沒有,電話會提出一個你可以捕獲的DynamoDBKeyNotFoundError。因此,如下所示:

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

如果散列不存在,將返回None,並且如果它存在,將返回該項目。