Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Azure cosmosdb 在CosmosDb中使用BulkExecutor时出现无效索引异常_Azure Cosmosdb_Bulkupdate - Fatal编程技术网

Azure cosmosdb 在CosmosDb中使用BulkExecutor时出现无效索引异常

Azure cosmosdb 在CosmosDb中使用BulkExecutor时出现无效索引异常,azure-cosmosdb,bulkupdate,Azure Cosmosdb,Bulkupdate,我试图使用BulkExecutor更新CosmosDb中的一个属性时出错。错误消息为“索引超出范围。必须为非负且小于集合的大小。”。 参数名称:索引“ 重要一点-我的集合上没有定义分区键 这是我的密码: SetUpdateOperation<string> player1NameUpdateOperation = new SetUpdateOperation<string>("Player1Name", name); var updateOperations = new

我试图使用BulkExecutor更新CosmosDb中的一个属性时出错。错误消息为“索引超出范围。必须为非负且小于集合的大小。”。 参数名称:索引“

重要一点-我的集合上没有定义分区键

这是我的密码:

SetUpdateOperation<string> player1NameUpdateOperation = new SetUpdateOperation<string>("Player1Name", name);
var updateOperations = new List<UpdateOperation>();
updateOperations.Add(player1NameUpdateOperation);
var updateItems = new List<UpdateItem>();
foreach (var match in list)
{
  string id = match.id;
  updateItems.Add(new UpdateItem(id, null, updateOperations));
}
var executor = new Microsoft.Azure.CosmosDB.BulkExecutor.BulkExecutor(_client, _collection);
await executor.InitializeAsync();
var executeResult = await executor.BulkUpdateAsync(updateItems);
var count = executeResult.NumberOfDocumentsUpdated;
SetUpdateOperation player1NameUpdateOperation=newsetupdateoperation(“Player1Name”,name);
var updateOperations=新列表();
添加(player1nameUpdateOperations);
var updateItems=新列表();
foreach(列表中的变量匹配)
{
字符串id=match.id;
Add(newupdateItem(id,null,updateOperations));
}
var executor=new Microsoft.Azure.CosmosDB.BulkExecutor.BulkExecutor(\u客户端,\u集合);
等待执行器。初始化同步();
var executesult=wait executor.BulkUpdateAsync(updateItems);
var计数=ExecuteSult.NumberOfDocumentsUpdated;

我遗漏了什么?

如果我在没有分区键的集合上运行大容量执行器,我会得到相同的错误。如果我使用一个确实包含它的集合运行它,并指定它,则批量执行器工作正常


很确定他们现在不支持批量执行器api,现在就用普通的cosmos api更新文档作为解决办法。

你解决了吗?不,我正在试验,不是很关键。放弃了。可能会在几个月后再次检查库的发布情况。@MaximAlexeyev您找到什么了吗?