0
執着我有更新和使用博託爲Python閱讀SimpleDB的實例:進行更改在博託
sdb = boto.connect_sdb(access_key, secret_key)
domain = sdb.get_domain('DomainName')
itemName = 'UserID'
itemAttr = {'key1': 'val1', 'key2': val2}
userDom.put_attributes(itemName, itemAttr)
一個可行的預期。名稱爲'UserID'且值爲val1和val2的新項目將被插入域中。現在
,是我面臨的問題是,如果我查詢,更新它的屬性後域正確,
query = 'select * from `DomainName` where key1=val1'
check = domain.select(query)
itemName = check.next()['key2']
我會得到一個錯誤,因爲該行的值找不到。但是,如果我在寫入和讀取之間添加time.sleep(1),則一切正常。
我懷疑這個問題是由於put_atributes發信號寫入數據庫的事實,但不會等到這個改變持續。我也嘗試寫入使用創建一個項目,然後保存該項目(item.save())沒有太多的成功。有誰知道在繼續進行下一步操作之前,如何確保這些值已寫入SimpleDB實例中?
謝謝。
謝謝,這工作完美。我遇到了使用consistent_read的問題,因爲我使用boto版本1.9b,升級到2.3.0並解決了它。 – angelrh 2012-04-05 17:31:36