Azure Cosmos DB:503 服务不可用

Azure Cosmos DB : 503 Service Unavaiable

从我的代码连接公司网络外部时,Cosmos DB 连接工作正常。但来自网络内部。它抛出 503 服务不可用问题。

我想确认一下我的猜测是否正确。所以我可以向 IT 寻求特定帮助以连接到 Cosmos 数据库并在防火墙中设置一些例外?

根据评论:

System.Exception: 'Microsoft.Azure.Cosmos.CosmosException : Response status code does not indicate success: ServiceUnavailable (503); Substatus: 0;
ActivityId: ; 
Reason: (The request failed because the client was unable to establish connections to 4 endpoints across 1 regions. Please check for client resource starvation issues and verify connectivity between client and server.

通常,如果您接受该异常并存储或查看 ToString(),它会显示更多信息。但从消息本身来看,这意味着客户端尝试连接到所有可用的已知端点但失败了。

这通常意味着网络上有某些东西阻止了您的请求,或者执行此代码的机器完全超载(CPU 100% 或端口耗尽)并且无法处理任何请求。

如果所有操作始终失败,请检查您的网络是否打开了正确的端口范围:

默认情况下,SDK 在直接模式下工作,因此请检查 10000 到 20000 范围内的端口是否打开并可用。如果启用了专用端点,则范围为 0 到 65535。

如@GauravMantri 所述,如果网络受限,您也可以更改为网关模式:

string connectionString = "<your-account-connection-string>";
CosmosClient client = new CosmosClient(connectionString,
new CosmosClientOptions
{
    ConnectionMode = ConnectionMode.Gateway 
});