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