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