Znajdowanie opłaty jednostkowej żądania dla operacji wykonywanych w usłudze Azure Cosmos DB dla tabeli

DOTYCZY: Tabeli

Usługa Azure Cosmos DB obsługuje wiele interfejsów API, takich jak SQL, MongoDB, Cassandra, Gremlin i Table. Każdy interfejs API ma własny zestaw operacji bazy danych. Te operacje wahają się od prostych odczytów punktów i zapisów do złożonych zapytań. Każda operacja bazy danych zużywa zasoby systemowe na podstawie złożoności operacji.

Koszt wszystkich operacji bazy danych jest normalizowany przez usługę Azure Cosmos DB i jest wyrażany za pomocą jednostek żądań (lub w skrócie RU). Opłata za żądanie to jednostki żądania używane przez wszystkie operacje bazy danych. Jednostki RU można traktować jako walutę wydajności abstrakcyjną zasobów systemowych, takich jak procesor CPU, liczba operacji we/wy na sekundę i pamięć, które są wymagane do wykonywania operacji bazy danych obsługiwanych przez usługę Azure Cosmos DB. Niezależnie od tego, którego interfejsu API używasz do interakcji z kontenerem usługi Azure Cosmos DB, koszty są zawsze mierzone przez jednostki RU. Niezależnie od tego, czy operacja bazy danych jest operacją zapisu, odczytu punktu czy zapytania, koszty są zawsze mierzone w jednostkach RU. Aby dowiedzieć się więcej, zobacz artykuł jednostki żądania i zagadnienia .

W tym artykule przedstawiono różne sposoby znajdowania użycia jednostki żądania dla dowolnej operacji wykonywanej względem kontenera w usłudze Azure Cosmos DB for Table. Jeśli używasz innego interfejsu API, zobacz api for MongoDB, API for Cassandra, API for Gremlin i API for NoSQL articles to find the RU/s charge (Interfejs API dla języka Gremlin i api for NoSQL), aby znaleźć opłatę za ru/s.

Korzystanie z zestawu SDK dla platformy .NET

Obecnie jedynym zestawem SDK, który zwraca opłatę za jednostkę RU dla operacji tabeli, jest zestaw SDK platformy .NET Standard. Obiekt TableResult uwidacznia RequestCharge właściwość wypełnianą przez zestaw SDK podczas używania jej w usłudze 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;
}

Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie interfejsu API dla aplikacji tabel przy użyciu zestawu .NET SDK i usługi Azure Cosmos DB.

Następne kroki

Aby dowiedzieć się więcej o optymalizacji użycia jednostek RU, zobacz następujące artykuły: