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
});
从我的代码连接公司网络外部时,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
});