Удаление документа из CosmosDB с помощью c # SDK

#c# #azure-cosmosdb #azure-cosmosdb-sqlapi

#c# #azure-cosmosdb #azure-cosmosdb-sqlapi

Вопрос:

Я пытаюсь удалить документ из CosmosDB, используя приведенный ниже код, но каждый раз продолжаю получать следующую ошибку: «Microsoft.Azure.Документы.Исключение DocumentClientException: Объект с указанным идентификатором не существует в системе»

Документ определенно находится в базе данных: введите описание изображения здесь

Это код, который я использую:

     this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey);
    var docUri = UriFactory.CreateDocumentUri(DatabaseName, CollectionName, documentId);

    var result = await this.client.DeleteDocumentAsync(docUri, new RequestOptions { PartitionKey = new PartitionKey("/id") });
  

У кого-нибудь есть идеи, в чем может заключаться проблема?

Спасибо

Ответ №1:

PartitionKey Свойство в RequestOptions классе представляет значение, а не определение ключа раздела.

Это означает, что ваша строка удаления должна быть такой:

 var result = await this.client.DeleteDocumentAsync(docUri, new RequestOptions { PartitionKey = new PartitionKey(documentId) });
  

Комментарии:

1. Я сделал то же самое. Действительно хотелось бы, чтобы примеры кода MS были понятнее!