Amazon dynamodb 使用DynamoDBContext更新/插入C创建BatchWrite#

Amazon dynamodb 使用DynamoDBContext更新/插入C创建BatchWrite#,amazon-dynamodb,aws-sdk-net,Amazon Dynamodb,Aws Sdk Net,我有一个应该在dynamodb中插入或更新的文件列表,所以我这样做: var batch = _dynamoDbContext.CreateBatchWrite<MyEntity>(); batch.AddPutItems(myEntityList); batch.ExecuteAsync(); 我怎样才能解决它?由于性能原因,我需要使用批处理。您可以使用事务进行插入或更新,但它们的成本是成本的两倍,否则您将需要逐个更新 这里有一些关于上一篇文章的更多信息 是否可以将Tran

我有一个应该在dynamodb中插入或更新的文件列表,所以我这样做:

 var batch = _dynamoDbContext.CreateBatchWrite<MyEntity>();
 batch.AddPutItems(myEntityList);
 batch.ExecuteAsync();

我怎样才能解决它?由于性能原因,我需要使用批处理。

您可以使用事务进行插入或更新,但它们的成本是成本的两倍,否则您将需要逐个更新

这里有一些关于上一篇文章的更多信息

是否可以将TransactionWriteItems与DynamoDBContext一起使用,或者我应该使用低级API?否dynamodb上下文只有批写入而没有批处理事务,因此您需要在IAmazonDynamoDB中使用TransactionWriteItemsAsSync。请注意,如果您的事务中有任何更新失败,那么它们都会失败。因此,如果您正在更新的这些项目彼此不相关/相互依赖,那么最好避免使用事务,而是逐个更新项目,或者使用dbcontext batchwrite插入全新的项目,但使用更新的时间戳在sortkey或类似的软件中,你只需阅读最新的项目副本,并在一夜之间清理旧的项目
 An item with the same key has already been added. Key: Amazon.DynamoDBv2.DocumentModel.Key