带有条件更新的DynamoDBContext

时间:2015-06-26 06:22:17

标签: conditional updates amazon-dynamodb

在我的应用程序中,我正在使用亚马逊对象持久性模型,并使用DynamoDBContext进行操作(CURD和执行查询)。我需要知道如何使用DynamoDBContext进行条件更新。它应该是异步的。

我知道使用亚马逊低级API的方式。

我的应用程序是使用C#Dot Net(4.5)开发的 谢谢。

1 个答案:

答案 0 :(得分:1)

.NET Async DynamoDBContext.Save call uses SaveHelper。 SaveHelper calls UpdateHelper with an operationConfig。 作为DynamoDBOperationConfig has a ConditionalOperator field,您可以尝试使用它来调整属性值的放置/更新。请注意,您只能对此调用中的一个项目强制执行条件。如果这样做,您将无法覆盖已存在的项目,从而强制执行唯一性。我建议您使用UUID而不是递增的数字作为您的哈希键。虽然在一个项的上下文中支持atomic counters,但在表的所有项目中都不支持它们。对于DynamoDBContext.Save调用不支持的条件写入,您始终可以使用the low-level APIcondition expression来执行条件写入。