Azure Cosmos DB for Table で実行された操作の要求ユニット使用量を確認する

適用対象: Table

Azure Cosmos DB では、多くの API (SQL、MongoDB、Cassandra、Gremlin、Table など) がサポートされています。 各 API には、固有のデータベース操作のセットがあります。 これらの操作の範囲は、単純なポイント読み取り/書き込みから、複雑なクエリにまで及びます。 各データベース操作は、それらの操作の複雑さに基づいて、システム リソースを消費します。

すべてのデータベース操作のコストは Azure Cosmos DB によって正規化され、要求ユニット (RU) によって表されます。 要求の料金は、すべてのデータベース操作で使用される要求ユニットです。 RU は、Azure Cosmos DB によってサポートされるデータベース操作を実行するために必要な CPU、IOPS、メモリなどのシステム リソースを抽象化する、パフォーマンスの通貨と考えることができます。 Azure Cosmos DB コンテナーとのやりとりにどの API 使用するかに関係なく、コストは RU によって常に測定されます。 データベース操作が書き込み、ポイント読み取り、またはクエリのいずれの場合でも、コストは常に RU で測定されます。 詳細については、要求ユニットとその考慮事項に関する記事を参照してください。

この記事では、Azure Cosmos DB for Table のコンテナーに対して実行された任意の操作の要求ユニット (RU) 消費量を確認するさまざまな方法を紹介します。 別の API を使っている場合に RU/s 使用量を確認する方法については、MongoDB 用 APICassandra 用 APIGremlin 用 APINoSQL 用 API に関する記事をご覧ください。

.NET SDK を使用する

現在のところ、テーブル操作に対する RU 使用量を返す唯一の SDK が .NET Standard SDK です。 TableResult オブジェクトで公開されている RequestCharge プロパティは、Azure Cosmos DB for Table に対してそれを使うと SDK によって設定されます。

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

詳しくは、.NET SDK と Azure Cosmos DB を使った Table 用 API アプリの構築のクイックスタートに関する記事をご覧ください。

次のステップ

RU 使用量を最適化する方法については、次の記事をご覧ください。