Я рву волосы из-за этой странной ошибки. Я создал azure cosmosdb и вручную вставил элемент в контейнер, а затем запросил его из C# кода:
public async Task<T> ReadAsync<T>(string documentId, string collectionName, string partitionKey)
where T : class
{
Requires.NotNullOrWhiteSpace(documentId, nameof(documentId));
Requires.NotNullOrWhiteSpace(collectionName, nameof(collectionName));
return await this.PerformActionAsync(
$"ReadAsync {documentId}. Collection: {collectionName}.",
async client =>
{
try
{
Container container = client.GetDatabase(this.cosmosDbDatabaseName).GetContainer(collectionName);
ItemResponse<T> response = await container.ReadItemAsync<T>(id: documentId, partitionKey: new PartitionKey(partitionKey)).ConfigureAwait(true);
return response.Resource;
}
catch (CosmosException ex)
{
if (ex.StatusCode == HttpStatusCode.NotFound)
{
resultStatus = NotFound;
return null;
}
resultStatus = Exception;
throw new Exception("The server encountered an internal error. Please retry the request.");
}
Код всегда возвращает 404 NotFound ! Но я могу увидеть элемент в контейнере из DataExplorer!
Может ли кто-нибудь пролить свет на меня? Большое спасибо.
Спасибо!