我正在嘗試在boto3中爲DynamoDB使用update_item
功能。是否有可能在update_item中結合if_not_exists和list_append
我現在正在努力更新項目列表。如果列表尚不存在,我想創建一個新列表,否則追加到現有列表。
使用形式SET my_list = list_append(my_list, :my_value)
的UpdateExpression
返回錯誤「所提供的表達指的是不存在於項目存在的屬性」如果列表不存在。
任何想法如何我將不得不修改我的UpdateExpression
?
感謝&問候, 費邊
謝謝你的提示!非常整潔的解決方案。 – fabian
你有任何想法,如果這是受競賽條件?我正在查看AWS文檔,他們似乎沒有任何鎖定/事務(至少對於Python SDK)。它看起來像這樣的代碼可以a:從數據庫中讀取列表,b:追加新值,c:覆蓋舊值,在此期間可以更改_could_。 –
我無法在文檔中找到直接確認,但我希望單個UpdateItem操作是原子的,這是我在常見問題中發現的最接近的東西 - 「您可以使用單個API調用在一行中增加或減少數字屬性。同樣,你可以原子地添加或刪除設置,列表或地圖「,請參閱https://aws.amazon.com/dynamodb/faqs/ –