Я удаляю объемные элементы и получаю указанную ниже ошибку на своем локальном компьютере. Я использую CosmosDB SDK 3.0.
Произошла ошибка при инициализации CosmosBb. Произошла одна или несколько ошибок. (Код состояния ответа не указывает на успех: ServiceUnavailable (503); Подстатус: 0; ActivityId: befe13e5-172f-4930-953f-e24bf9b0a14a; Причина: (Служба в настоящее время недоступна. ActivityId: befe13e5-172f-4930-953f-e14a24af9, RequestStartTime: 2020-08-06T07: 04: 58.1807989Z, RequestEndTime: 2020-08-06T07: 05: 28.2986219Z, Количество предпринятых регионов: 1 ResponseTime: 2020-08-06T07: 04: 59.1993537Z, StoreResult: StorePhysicalAddress: rntbd : //127.0.0.1: 10253 / apps / DocDbApp / services / DocDbServer18 / partitions / a4cb495e-38c8-11e6-8106-8cdcd42c33be / replicas / 1p /, LSN: -1, GlobalCommittedLsn: -1, PartitionKeyRangeId:, IsValid: False , StatusCode: 410, SubStatusCode: 0, RequestCharge: 0, ItemLSN: -1, SessionToken:, UsingLocalLSN: True, TransportException: произошла ошибка транспорта клиента: не удалось подключиться к удаленной конечной точке. (Время: 2020-08-06T07: 04: 59.1993537Z, идентификатор действия: befe13e5-172f-4930-953f-e24bf9b0a14a, код ошибки: ConnectFailed [0x0005], основная ошибка: ошибка сокета
H Вот мой метод удаления.
private async Task DeleteAllExistingSubscriptions(string userUUId)
{
var subscriptions = await _repository
.GetItemsAsync(x => x.DistributionUserIds.Contains(userUUId), o => o.PayerNumber);
if (subscriptions.Any())
{
List<Task> bulkOperations = new List<Task>();
foreach (var subscription in subscriptions)
{
bulkOperations.Add(_repository
.DeleteItemAsync(subscription.Id.ToString(), subscription.PayerNumber));
}
await Task.WhenAll(bulkOperations);
}
}
Клиент Cosmos:
private static void RegisterCosmosClient(IServiceCollection serviceCollection, IConfiguration configuration)
{
string cosmosDbEndpoint = configuration["CosmoDbEndpoint"];
Ensure.ConditionIsMet(cosmosDbEndpoint.IsNotNullOrEmpty(),
() => new InvalidOperationException("Unable to locate configured CosmosDB endpoint"));
var cosmosDbAuthKey = configuration["CosmoDbAuthkey"];
Ensure.ConditionIsMet(cosmosDbAuthKey.IsNotNullOrEmpty(),
() => new InvalidOperationException("Unable to locate configured CosmosDB auth key"));
serviceCollection.AddSingleton(s => new CosmosClient(cosmosDbEndpoint, cosmosDbAuthKey,
new CosmosClientOptions { AllowBulkExecution = true }));
}