Localizar a cobrança de unidade de solicitação para operações executadas no Azure Cosmos DB for Table

APLICA-SE A: Table

O Azure Cosmos DB dá suporte a muitas APIs como SQL, MongoDB, Cassandra, Gremlin e Table. Cada API tem seu próprio conjunto de operações de banco de dados. Essas operações variam de simples leituras e gravações de pontos a consultas complexas. Cada operação de banco de dados consome recursos do sistema com base na complexidade da operação.

O custo de todas as operações do banco de dados é normalizado pelo Azure Cosmos DB e expresso por Unidades de Solicitação (ou RUs, abreviado na sigla em inglês). O preço da solicitação corresponde às unidades de solicitação consumidas por todas as operações de banco de dados. Você pode encarar as RUs como uma moeda de desempenho que abstrai os recursos do sistema (como CPU, IOPS e memória) necessários para executar as operações de banco de dados compatíveis com o Azure Cosmos DB. Independentemente da API usada para interagir com o contêiner do Azure Cosmos DB, os custos sempre serão medidos por RUs. Independentemente da operação de banco de dados ser uma gravação, uma leitura pontual ou uma consulta, os custos serão sempre medidos em RUs. Para saber mais, confira o artigo As unidades de solicitação e considerações sobre elas.

Este artigo apresenta as diferentes maneiras de localizar o consumo de RU (unidade de solicitação) de qualquer operação executada em um contêiner no Azure Cosmos DB for Table. Se você estiver usando uma API diferente, confira os artigos API do MongoDB, API do Cassandra, API do Gremlin e API do NoSQL para localizar o preço de RUs.

Usar o SDK .NET

Atualmente, o único SDK que retorna o preço de RU para operações de tabela é o SDK do .NET Standard. O objeto TableResult expõe uma propriedade RequestCharge que é populada pelo SDK quando usada no Azure Cosmos DB for Table:

CloudTable tableReference = client.GetTableReference("table");
TableResult tableResult = tableReference.Execute(TableOperation.Insert(new DynamicTableEntity("partitionKey", "rowKey")));
if (tableResult.RequestCharge.HasValue) // would be false when using Azure Storage Tables
{
    double requestCharge = tableResult.RequestCharge.Value;
}

Para saber mais, confira Guia de início rápido: criar um aplicativo de API de Tabela usando o SDK do .NET e o Azure Cosmos DB.

Próximas etapas

Para saber mais sobre como otimizar o consumo de RU, confira estes artigos: