e2e*_*Dev 5 azure azure-cosmosdb
当从公司网络外部的代码进行连接时,Cosmos DB 连接工作得很好。但从公司网络来看,它会抛出一个503 ServiceUnavailable状态代码。可能出现哪些问题?
Mat*_*nta 12
根据评论:
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.
Run Code Online (Sandbox Code Playgroud)
通常,如果您接受该异常并存储或查看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
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7916 次 |
| 最近记录: |