在我的應用程序我使用亞馬遜對象持久化模型並使用DynamoDBContext進行操作(CURD和執行查詢)。我需要知道如何使用DynamoDBContext使用條件更新。它應該是異步的。DynamoDBContext有條件更新
我知道如何使用亞馬遜低級API來實現它。
我的應用程序是使用C#Dot Net(4.5) 開發的,謝謝。
在我的應用程序我使用亞馬遜對象持久化模型並使用DynamoDBContext進行操作(CURD和執行查詢)。我需要知道如何使用DynamoDBContext使用條件更新。它應該是異步的。DynamoDBContext有條件更新
我知道如何使用亞馬遜低級API來實現它。
我的應用程序是使用C#Dot Net(4.5) 開發的,謝謝。
.NET異步DynamoDBContext.Save調用uses SaveHelper。 SaveHelper calls UpdateHelper with an operationConfig。 由於DynamoDBOperationConfig has a ConditionalOperator field,你可以嘗試使用它來調整放置/更新屬性值。請注意,您只能在此調用中的一個項目上強制執行條件。如果這樣做,則無法覆蓋已存在的項目,從而實現唯一性。儘管如此,我建議你使用UUID而不是遞增數字。儘管在一個項目的上下文中支持atomic counters,但它們不支持跨表中的所有項目。對於DynamoDBContext.Save調用不支持的有條件寫入,您始終可以使用the low-level API和condition expression執行您的條件寫入。
謝謝亞歷山大Patrikalakis。我需要創建自動增量編號(以保存唯一的ID),正如我們在關係數據庫中所做的那樣。我的計劃是使用條件更新來做到這一點。我知道可以在dyanmodb中使用原子序數來做到這一點。但我的應用程序必須支持併發請求。 – sigma
我更新了我的答案以解決您的問題。 –
謝謝。條件操作員字段只有「AND」「OR」。並且所需的ID應該是可讀的。不能使用UUID。 – sigma