Udostępnij za pośrednictwem


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

DOTYCZY: Stół

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 obejmują od prostych odczytó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 za pomocą jednostek RU. Niezależnie od tego, czy operacja bazy danych jest zapisem, odczytem punktu czy zapytaniem, 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 jednostek żądania dla dowolnej operacji wykonywanej względem kontenera w usłudze Azure Cosmos DB dla tabeli. Jeśli używasz innego interfejsu API, zobacz api for MongoDB, API for Cassandra, API for Gremlin i API for NoSQL articles (Interfejs API dla języka Gremlin) w celu znalezienia opłaty za jednostki 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 właściwość wypełnianą przez zestaw SDK podczas korzystania z niej w usłudze RequestCharge Azure Cosmos DB dla tabeli:

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 na temat optymalizacji użycia jednostek RU, zobacz następujące artykuły: