无法创建集合信息-尝试在本地测试Cosmos DB触发器时出错

时间:2018-10-09 16:54:02

标签: azure azure-functions azure-cosmosdb

我正在测试开发Azure函数以读取Cosmos DB数据库的更改供稿。我已经从Azure门户创建了这样的功能,但是我想使用VS或VS Code来实现。我使用Azure Function Core Tools v2.0.3设置了环境,但是当我尝试测试该功能时,出现以下错误:

  

[10/9/2018 4:33:34 PM]错误索引方法   'Functions.workordersTrigger'

     

[10/9/2018 4:33:34 PM] Microsoft.Azure.WebJobs.Host:错误索引   方法“ Functions.workordersTrigger”。   Microsoft.Azure.WebJobs.Extensions.CosmosDB:无法创建集合   htm数据库中具有租约wo_leases的工作单信息   数据库htm:具有指定ID的实体在   系统。

db中同时存在“ workorders”和“ wo_leases”两个集合。如果仅使用简单的HTTP触发器创建函数,则该函数可以正常工作,并且可以在VS Code中进行调试。 CosmosDB触发器似乎是一个问题。谁能指出我正确的方向?

1 个答案:

答案 0 :(得分:0)

在以下情况下出现错误消息:

  1. 指定数据库中的目标帐户中不存在任何集合
  2. 您的帐户具有防火墙规则(虚拟网络规则或IP规则),该规则会阻止对当前工作站的访问。

对于#1,请验证连接字符串是否指向正确的帐户,并且您可以看到数据库中存在集合(为此,您可以使用Azure门户或使用连接字符串浏览Cosmos Explorer

对于#2,请验证帐户中是否存在禁止访问的规则。您可以禁用防火墙规则,也可以添加当前IP地址(门户网站中有一个快速链接)。