Ler um documento
Há duas maneiras de ler um item de um contentor no Azure Cosmos DB: uma leitura pontual e uma leitura de consulta. Uma leitura pontual é a forma mais eficiente de ler um item porque utiliza a combinação única do id e da chave de partição do item para recuperá-lo. Uma leitura de consulta é mais flexível e pode recuperar vários itens com base numa consulta. Esta unidade concentra-se em leituras pontuais.
Por exemplo, se você tiver um documento de 1 KB no contêiner, a cobrança de RU para executar uma leitura pontual será 1 RU. A cobrança de RU para uma leitura de consulta é baseada no número de itens retornados e na complexidade da consulta, mas a cobrança mínima de RU normalmente é de pelo menos 2,3 RUs (Unidades de Solicitação). Se você só precisa ler um único item, uma leitura pontual é a maneira mais eficiente de fazê-lo, pois pode ler os dados diretamente e não requer que o mecanismo de consulta processe a solicitação.
Para fazer uma leitura pontual de um item existente do contêiner, precisamos de duas coisas.
Primeiro, precisamos do id exclusivo do item. Aqui, armazenamos esse id em uma variável de mesmo nome.
string id = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71";
Em segundo lugar, precisamos criar uma variável do tipo PartitionKey com o valor da cadeia de caracteres para a propriedade definida como a chave de partição para o item que estamos procurando. Usamos a combinação do id do item e o valor da chave de partição para executar a leitura do ponto.
string categoryId = "26C74104-40BC-4541-8EF5-9892F7F03D72";
PartitionKey partitionKey = new (categoryId);
Quando tivermos ambos os itens, podemos invocar o método assíncrono e genérico ReadItemAsync<> , que retorna um item do tipo genérico fornecido, Product, neste exemplo.
Product saddle = await container.ReadItemAsync<Product>(id, partitionKey);
Neste ponto, podemos aceder às propriedades da variável saddle e imprimi-las no console tal como qualquer variável local.
string formattedName = $"New Product [${saddle}]";
Console.WriteLine(formattedName);
Primeiro, precisamos do id exclusivo do item. Aqui, armazenamos esse id em uma variável.
item_id = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71"
Em seguida, defina o valor da chave de partição para o item. Usamos a combinação do id do item e o valor da chave de partição para executar a leitura do ponto.
partition_key_value = "26C74104-40BC-4541-8EF5-9892F7F03D72"
Depois de ter a chave id e a chave de partição, pode usar o método read_item do objeto de contentor para executar a leitura pontual.
saddle = container.read_item(item=item_id, partition_key=partition_key_value)
Neste ponto, podemos aceder às propriedades da variável saddle e imprimi-las no console tal como qualquer variável local.
formatted_name = f"New Product [{saddle['name']}]"
print(formatted_name)
Primeiro, precisamos do id exclusivo do item. Aqui, armazenamos esse id em uma variável.
const itemId = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71";
Em seguida, defina o valor da chave de partição para o item. Usamos a combinação do id do item e o valor da chave de partição para executar a leitura do ponto.
const partitionKeyValue = "26C74104-40BC-4541-8EF5-9892F7F03D72";
Executar a leitura do ponto
Depois de teres a chave id e a chave de partição, podes usar o método readItem do objeto contêiner para executar a leitura de ponto.
const { resource: saddle } = await container.item(itemId, partitionKeyValue).read();
Neste ponto, podemos aceder às propriedades da variável saddle e imprimi-las no console tal como qualquer variável local.
const formattedName = `New Product [${saddle.name}]`;
console.log(formattedName);