使用Cosmos DB触发器在本地调试Azure Function V1时,我们遇到了一个奇怪的问题。应用启动时,它会等待几分钟,然后引发异常“服务当前不可用”:
当我在家中运行相同的应用程序时,它运行良好。部署到Azure时,它也可以完美运行。
此外,使用Azure Functions V2实现的类似应用程序也可以在有问题的计算机上工作。
引起问题的计算机在公司网络中。我们使用包含https
的真实连接字符串,而不是仿真器。
这确实看起来像是客户端连接问题...它是什么以及如何解决?
答案 0 :(得分:3)
host.json
文件中的以下更改解决了该问题:
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https"
}
}
Azure Functions V1与Cosmos DB的连接默认为直接模式,而V2(由于Function V2是多平台,需要在任何平台上运行)默认为网关模式。在防火墙环境中,直接模式有时可能会出现问题。
了解更多: