这个问题最初是由ben-graffle在Github上提出的。
我在这里发帖是为了扩大这个问题的听众范围。
接收带有特定端口映射配置的cosmos C# SDK在坞-组合文件中的408个超时。
工匠作曲
cosmos:
image: mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator
container_name: cosmos
ports:
- 8081:8081
- 10251:10251
- 10252:10252
- 10253:10253
- 10254:10254
expose:
- "8081"
- "10251-10255"
environment:
- AZURE_COSMOS_EMULATOR_PARTITION_COUNT=6
- AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE=false
- AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE=${LOCALIPADDRESS}
不起作用的码头工
cosmos:
image: mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator
container_name: cosmos
expose:
- "8081"
- "10251-10255"
ports:
- 8082:8081
- 10252:10251
- 10253:10252
- 10254:10253
- 10255:10254
environment:
- AZURE_COSMOS_EMULATOR_PARTITION_COUNT=6
- AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE=false
- AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE=${LOCALIPADDRESS}
抛出异常的函数调用
var httpMessageHandler = new HttpClientHandler()
{
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
};
CosmosClientOptions cosmosClientOptions = new CosmosClientOptions()
{
HttpClientFactory = () => new HttpClient(httpMessageHandler),
ConnectionMode = ConnectionMode.Gateway,
Serializer = new CosmosJsonNetCustomSerializer(),
RequestTimeout = TimeSpan.FromMinutes(3)
};
using CosmosClient client = new CosmosClient(cosmosEndpoint, COMSOS_KEY, cosmosClientOptions);
var db = await client.CreateDatabaseIfNotExistsAsync("GraffleMinerDatabase", 4000, null, CancellationToken.None);
第一个对接-撰写yaml工作,而第二个没有。接收以下错误
未处理的异常。Microsoft.Azure.Cosmos.CosmosException :响应状态代码并不表示成功: RequestTimeout (408);子状态: 0;ActivityId: 2f24681b-db18-44aa-afc8-e12ba02d8930;原因:(GatewayStoreClient请求超时)。启动时间:03/29/2022:28:56;总持续时间:36015.4719 Ms;请求超时时间20000 Ms;Http客户端超时:180000 Ms;活动id: 2f24681b-DB18-44aa-afc8-e12ba02d8930;
我之所以希望不同地映射端口,是因为我需要两个cosmos模拟器对接器容器同时运行。
如能提供任何协助/见解,将不胜感激。
https://stackoverflow.com/questions/71751494
复制相似问题