我有一个配置有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。
有什么想法吗?
答案 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版。