繁体   English   中英

C#中的AWS DynamoDb事务

[英]AWS DynamoDb Transactions in C#

我需要使用AWS DynamoDb作为数据库在C#实现事务

我检查了官方网站,但看不到C#的任何示例

以下是我不同的Db操作。

 public class DbHandler
 {
     private readonly IConfiguration _configuration;
     private readonly RegionEndpoint _region;
     private readonly AmazonDynamoDBClient _dynamoClient; 

    public DbHandler(IConfiguration configuration)
     {
         _configuration = configuration;
         var awsSettings = configuration.GetSection("AWS:DynamoDb");
         _region = RegionEndpoint.GetBySystemName(awsSettings["Region"]);
         _dynamoClient = SetDynamoClient(awsSettings);
     }

     public async Task<EventTO> Add(EventTO eventObj)
     {
         try
         {
             //Db Operation#1
             await _dynamoClient.PutItemAsync(
             tableName: _configuration.GetSection("AWS:DynamoDb")["Table1"],
             item: SetEventObject(eventObj));

             //Db Operation#2
             await _dynamoClient.PutItemAsync(tableName: _configuration.GetSection("AWS:DynamoDb")["Table2"], someotherObj);
             return eventObj;
         }
         catch (Exception ex)
         {
             throw;
         }

     }
 }

我正在使用低级API

    private Dictionary<string, AttributeValue> SetEventObject(EventTO eventObj)
        {
            //DynamoDb - Using Low Level API
            var attributes = new Dictionary<string, AttributeValue>
            {
                //EventId
                {
                    nameof(eventObj.EventId),
                    new AttributeValue
                    {
                        S =eventObj.EventId
                    }
                },
                //Event Title
                {
                    nameof(eventObj.Title),
                    new AttributeValue
                    {
                        S = eventObj.Title.Trim()
                    }
                }
            };
            return attributes;
        }

我想知道如何使用AWS DynamoDb的C#中的低级API来实现事务?

谢谢!

IAmazonDynamoDB.TransactWriteItemsAsync(TransactWriteItemsRequest)怎么样?

https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/DynamoDBv2/MIDynamoDBTransactWriteItemsTransactWriteItemsRequest.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM