Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用移动AWS SDK(Unity)和DynamoDB进行批处理操作_C#_.net_Amazon Web Services_Unity3d_Amazon Dynamodb - Fatal编程技术网

C# 使用移动AWS SDK(Unity)和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

我使用带有Unity的移动AWS SDK在DynamoDB中存储数据。它工作得很好,但一次只写一个文档(我几乎有数千个文档要存储),这使得我的应用程序很困难。 问题是我没有找到有关批处理的文档。有人知道如何实现批处理编写吗

这是我用来一次编写一个项目的代码:

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'”。一个主意?哦,好吧,显然你有其他版本,我没有找到任何文档。但最终这意味着:您必须传入一个回调委托方法,在异步执行完成时可能会调用该方法。不幸的是,我也找不到此委托类型的任何文档