Localizar o custo da unidade de pedido para as operações executadas no Azure Cosmos DB para Tabela
APLICA-SE A: Tabela
O Azure Cosmos DB suporta muitas APIs, como SQL, MongoDB, Cassandra, Gremlin e Table. Cada API tem o seu próprio conjunto de operações de base de dados. Estas operações vão desde leituras e escritas simples a consultas complexas. Cada operação de base de dados consome recursos do sistema com base na complexidade da operação.
O custo de todas as operações de bases de dados é regulado pelo Azure Cosmos DB e é expresso por Unidades de Pedido (ou RUs, abreviatura em inglês). O custo do pedido é as unidades de pedido consumidas por todas as operações da base de dados. Pode considerar as RUs como uma moeda de desempenho que abstrai os recursos do sistema, como CPU, IOPS e memória necessárias para realizar as operações de base de dados suportadas pelo Azure Cosmos DB. Independentemente da API que utiliza para interagir com o contentor do Azure Cosmos DB, os custos são sempre medidos pelas RUs. Quer a operação da base de dados seja uma consulta de escrita, leitura de ponto ou consulta, os custos são sempre medidos em RUs. Para saber mais, veja o artigo unidades de pedido e considerações .
Este artigo apresenta as diferentes formas de encontrar o consumo da unidade de pedido (RU) para qualquer operação executada num contentor no Azure Cosmos DB para Tabela. Se estiver a utilizar uma API diferente, veja API para MongoDB, API para Cassandra, API para Gremlin e API para artigos noSQL para localizar o custo de RU/s.
Utilizar o .NET SDK
Atualmente, o único SDK que devolve o custo de RU para operações de tabela é o SDK .NET Standard. O TableResult
objeto expõe uma RequestCharge
propriedade que é preenchida pelo SDK quando a utiliza no Azure Cosmos DB para Tabela:
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 obter mais informações, veja Início Rápido: Criar uma API para a aplicação Tabela com o SDK .NET e o Azure Cosmos DB.
Passos seguintes
Para saber mais sobre como otimizar o consumo de RUs, veja estes artigos: