Поделиться через


Поиск платы за единицу запроса для операций, выполняемых в Azure Cosmos DB для таблицы

Область применения: Таблица

Azure Cosmos DB поддерживает многие интерфейсы API, такие как SQL, MongoDB, Cassandra, Gremlin и Таблицы. У каждого API есть собственный набор операций базы данных, начиная от простого считывания и записи точек и заканчивая сложными запросами. Каждая операция базы данных потребляет системные ресурсы. Потребление зависит от сложности операции.

Стоимость всех операций базы данных нормализуется с помощью Azure Cosmos DB и выражается в единицах запроса (ЕЗ). Расходы на запросы выражаются в единицах запроса, потребленных всеми операциями базы данных. ЕЗ можно считать единицей производительности, которая абстрагирует системные ресурсы (например, ЦП, операции ввода-вывода в секунду и память), необходимые для выполнения операций базы данных, поддерживаемых Azure Cosmos DB. Независимо от того, какие API вы используете для взаимодействия с контейнером Azure Cosmos DB, затраты всегда измеряются в ЕЗ. Независимо от типа операции базы данных (запись, чтение или запрос), затраты всегда измеряются в ЕЗ. Дополнительные сведения см. в статье Единицы запросов и рекомендации.

В этой статье представлены различные способы поиска потребления единиц запросов (ЕЗ) для любой операции, выполняемой в контейнере в Azure Cosmos DB для таблицы. Если вы используете другой API, ознакомьтесь с API для MongoDB, API для Cassandra, API для Gremlin и СТАТЬЯми API для NoSQL, чтобы найти плату за ЕЗ/с.

Использование пакета SDK для .NET

Единственный пакет SDK, который сейчас возвращает данные о расходах в ЕЗ для операций с таблицами, — это пакет SDK для .NET Standard. Объект TableResult предоставляет RequestCharge свойство, заполненное пакетом SDK при использовании его для Azure Cosmos DB для таблицы:

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;
}

Дополнительные сведения см . в кратком руководстве. Создание API для приложения таблицы с помощью пакета SDK для .NET и Azure Cosmos DB.

Следующие шаги

Сведения об оптимизации потребления ЕЗ см. в следующих статьях: