从本地计算机连接到 Azure Cosmos DB 时出现“服务当前不可用”

Mik*_*kov 2 azure azure-functions azure-cosmosdb

在本地调试带有 Cosmos DB 触发器的 Azure Function V1 时,我们遇到了一个奇怪的问题。当应用程序启动时,它会等待几分钟,然后抛出异常“服务当前不可用”:

图像.png

当我在家运行它时,相同的应用程序运行良好。部署到 Azure 时,它​​也能完美运行。

此外,使用 Azure Functions V2 实现的类似应用程序可以在有问题的机器上运行。

导致问题的计算机位于公司网络中。我们使用真实的连接字符串,而不是模拟器https

它真的看起来像一个客户端连接问题......它可能是什么以及如何解决它?

Mik*_*kov 5

host.json文件中的以下更改修复了该问题:

{
  "documentDB": {
    "connectionMode": "Gateway",
    "protocol": "Https"
  }
}
Run Code Online (Sandbox Code Playgroud)

Azure Functions V1 与 Cosmos DB 的连接默认为直接模式,而 V2(需要在任何平台上运行,因为 Functions V2 是多平台的)默认为网关模式。直接模式有时会在防火墙环境中出现问题。

阅读更多: