C# 使用移动AWS SDK(Unity)和DynamoDB进行批处理操作
我使用带有Unity的移动AWS SDK在DynamoDB中存储数据。它工作得很好,但一次只写一个文档(我几乎有数千个文档要存储),这使得我的应用程序很困难。 问题是我没有找到有关批处理的文档。有人知道如何实现批处理编写吗 这是我用来一次编写一个项目的代码:C# 使用移动AWS SDK(Unity)和DynamoDB进行批处理操作,c#,.net,amazon-web-services,unity3d,amazon-dynamodb,C#,.net,Amazon Web Services,Unity3d,Amazon Dynamodb,我使用带有Unity的移动AWS SDK在DynamoDB中存储数据。它工作得很好,但一次只写一个文档(我几乎有数千个文档要存储),这使得我的应用程序很困难。 问题是我没有找到有关批处理的文档。有人知道如何实现批处理编写吗 这是我用来一次编写一个项目的代码: foreach (var dataDocument in listOfDocuments) { MyTable.PutItemAsync(dataDocument, (r) => { }); } 我试过: private v
foreach (var dataDocument in listOfDocuments)
{
MyTable.PutItemAsync(dataDocument, (r) => { });
}
我试过:
private void LoadAWSTable1()
{
DynamoDBContext context = new DynamoDBContext(client);
DynamoDBOperationConfig config = new DynamoDBOperationConfig();
config.SkipVersionCheck = true;
var threadBatch = context.CreateBatchWrite<Thread>(config);
threadBatch.ExecuteAsync();
listOfDocuments.Clear();
}
private void LoadAWSTable1()
{
DynamoDBContext context=新的DynamoDBContext(客户端);
dynamodbooperationconfig=新的dynamodbooperationconfig();
config.SkipVersionCheck=true;
var threadBatch=context.CreateBatchWrite(配置);
threadBatch.ExecuteAsync();
listOfDocuments.Clear();
}
但是ExecuteAsync()给出以下错误:
错误CS7036给定的参数中没有与
的必需形式参数“回调”
'BatchWrite.ExecuteAsync(AmazonDynamoDBCallback,AsyncOptions)'
非常感谢,因为错误表明
BatchWrite.ExecuteAsync
需要类型为Amazon.DynamoDBv2.AmazonDynamoDBCallback的参数
你不是在传递它
threadBatch.ExecuteAsync(theCallbackDelegate, someAsyncOptions);
不幸的是,我在文档中找不到这种类型,所以我现在无法告诉您签名
从下面的评论中,我只能猜测至少someAsyncOptions
是可选的
事实上我发现的唯一的东西不是你的错误。。。可能是另一个版本。如果您正在考虑将大量数据转储到DynamoDB,可以使用数据管道将数据从CSV文件导入到表中。但是,您应该非常小心如何在CSV文件中抑制电子数据,因为数据管道对其读取的格式非常特殊。谢谢您的回答。对不起,我对这个很陌生。我仍然收到相同的错误,我必须将参数放入ExecuteAsync()函数。请你说得更准确一点好吗?@Nomanskywalker哦,对不起:我完全忘了在一次偶然的情况下通过它,那也没用。我得到了这个错误:“CS1503参数1:无法从'System.Threading.CancellationToken'转换为'Amazon.DynamoDBv2.AmazonDynamoDBCallback'”。一个主意?哦,好吧,显然你有其他版本,我没有找到任何文档。但最终这意味着:您必须传入一个回调委托方法,在异步执行完成时可能会调用该方法。不幸的是,我也找不到此委托类型的任何文档