Cosmos DB触发器-共享吞吐量收集应具有分区键

时间:2018-11-30 23:41:49

标签: azure-functions azure-cosmosdb

我有一个配置有Cosmos DB触发器的Azure函数,该触发器配置为按需自动创建租约集合,当我在数据库级别配置吞吐量的Cosmos DB上运行时,出现以下错误

  

[30/11/2018 23:33:04] Microsoft.Azure.WebJobs.Host:索引方法'Functions.Foo'错误。 Microsoft.Azure.WebJobs.Extensions.CosmosDB:无法使用数据库Y中的租约为数据库Y中的X创建集合信息:共享吞吐量集合应具有分区键

仅在容器级别配置吞吐量时,绝对可以正常工作。还尝试过手动创建租约集合并将id设置为分区键(从我的其他数据库来看,看起来所有租约都是id / ttl),但随后它抱怨未提供PK。

有什么想法吗?

2 个答案:

答案 0 :(得分:7)

EDIT Microsoft.Azure.WebJobs.Extensions.CosmosDB NuGet软件包的3.0.3版本现在支持此功能。经过测试并可以与Azure Functions 2.0正常工作。


James,我们很快会对此提供支持,已经对PR进行了审核以添加分区租赁集合,请参阅https://github.com/Azure/azure-webjobs-sdk-extensions/pull/520

目前,Azure Functions中使用的Change Feed Processor库版本不支持分区的租约集合,而最新版本则支持,因此PR的一部分正在更新库依赖性。

这在数据库级别的共享RU上最常见。

答案 1 :(得分:1)

请查看一下函数Output - configuration,请注意,这是针对Cosmos DB的Azure函数绑定的2.0版。

Azure Cosmos DB bindings for Azure Functions 2.x