azure - 从本地计算机连接到 Azure Cosmos DB 时出现 "Service is currently unavailable"

标签 azure azure-functions azure-cosmosdb

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

image.png

当我在家运行时,同一个应用程序运行得很好。当部署到 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/

相关文章:

azure - 在 Azure Functions 中将 maxAutoRenewDuration 和 functionTimeout 设置为无限制时,如何指定 host.json?

c# - C# DocumentDb 客户端可以在不进行反序列化的情况下返回原始 json 吗?

azure - 显示 Azure Cosmos DB 中的数据库位置

c# - DownloadToStreamAsync 返回空流 C#

python - key 错误 : 'Key' and TypeError: An Integer is required

azure - 如何将数据截断为数据流中的前3个字母?

Azure DevOps REST API - 获取作业的代理池?

Azure:vCPU 和 ACU 之间有什么关系?

azure - 将 KEDA 与 Azure 函数队列结合使用时,Pod 突然终止

c# - 使用 C# 查询 CosmosDB 中的文档