Búsqueda del cargo de la unidad de solicitud en las operaciones que se ejecutan en Azure Cosmos DB for Table

SE APLICA A: Table

Azure Cosmos DB admite varias API, como SQL, MongoDB, Cassandra, Gremlin y Table. Cada API tiene su propio conjunto de operaciones de base de datos. Estas abarcan desde sencillas lecturas y escrituras de punto hasta consultas complejas. Cada operación de base de datos consume recursos del sistema en función de la complejidad de la operación.

Azure Cosmos DB se encarga de normalizar el costo de todas las operaciones de base de datos y se expresa en términos de unidades de solicitud (RU en su forma abreviada). La solicitud de cargos son las unidades de solicitud que consumen todas las operaciones de base de datos. Puede considerar que las unidades de solicitud son como una moneda de rendimiento, que resume los recursos del sistema, como CPU, IOPS y memoria, necesarios para realizar las operaciones de base de datos compatibles con Azure Cosmos DB. Con independencia de qué API utilice para interactuar con el contenedor de Azure Cosmos DB, los costos siempre se miden por RU. Si la operación de base de datos es una escritura, lectura puntual o consulta, los costos siempre se miden en RU. Para obtener más información, vea el artículo Unidades de solicitud y sus consideraciones.

En este artículo se presentan las distintas formas de buscar el consumo de unidades de solicitud (RU) de cualquier operación que se ejecuta en un contenedor de Azure Cosmos DB for Table. Si usa una API diferente, consulte los artículos API para MongoDB, API para Cassandra, API para Gremlin y API para NoSQL para buscar el cargo de las RU.

Uso del SDK de .NET

Actualmente, el único SDK que devuelve el cargo de RU para las operaciones de tabla es el SDK de .NET Standard. El objeto TableResult expone una propiedad RequestCharge que se rellena mediante el SDK cuando se usa con 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 obtener más información, consulte Inicio rápido: Compilación de una aplicación de API para Table con el SDK de .NET y Azure Cosmos DB.

Pasos siguientes

Para obtener información sobre cómo optimizar el consumo de RU, vea estos artículos: