Ermitteln der Gebühr für Anforderungseinheiten für Vorgänge, die auf Azure Cosmos DB for Apache Cassandra angewendet werden

GILT FÜR: Cassandra

Azure Cosmos DB unterstützt viele APIs wie z.B. SQL, MongoDB, Cassandra, Gremlin und Tabelle. Jede API verfügt über einen eigenen Satz von Datenbankvorgängen. Diese Vorgänge reichen von einfachen Lese- und Schreibvorgängen für Datenpunkte bis hin zu komplexen Abfragen. Jeder Datenbankvorgang beansprucht je nach Komplexität eine bestimmte Menge an Systemressourcen.

Die Kosten sämtlicher Datenbankvorgänge werden von Azure Cosmos DB normalisiert und in Anforderungseinheiten (Request Units, RUs) ausgedrückt. Die Anforderungsgebühr entspricht den insgesamt für Ihre Datenbankvorgänge genutzten Anforderungseinheiten. Sie können sich Anforderungseinheiten als Währung zur Abstrahierung der Systemressourcen wie CPU, IOPS und Arbeitsspeicher vorstellen, die zum Ausführen der von Azure Cosmos DB unterstützten Datenbankvorgänge erforderlich sind. Unabhängig davon, welche API Sie für die Interaktion mit Ihrem Azure Cosmos DB-Container verwenden, werden die Kosten immer in RUs gemessen. Unabhängig davon, ob es sich bei dem Datenbankvorgang um einen Schreib-, Lese- oder Abfragevorgang handelt, werden die Kosten immer in RUs gemessen. Weitere Informationen finden Sie im Artikel Aspekte zu Anforderungseinheiten.

In diesem Artikel werden verschiedene Methoden beschrieben, mit denen Sie den Verbrauch von Anforderungseinheiten (Request Units, RU) für einen beliebigen Vorgang ermitteln können, der für einen Container in Azure Cosmos DB for Apache Cassandra erfolgt ist. Wenn Sie eine andere API verwenden, finden Sie weitere Informationen zum Ermitteln der RU/s-Gebühr in den Artikeln zur API für MongoDB, API für NoSQL, API für Gremlin und API für Table.

Wenn Sie Vorgänge auf Azure Cosmos DB for Apache Cassandra anwenden, wird die RU-Gebühr in den eingehenden Nutzdaten als Feld namens RequestCharge zurückgegeben. Sie haben mehrere Optionen zum Abrufen der RU-Gebühr.

Verwenden eines Cassandra-Treibers

Wenn Sie das .NET SDK verwenden, können Sie die eingehende Nutzlast unter der Info-Eigenschaft eines RowSet-Objekts abrufen:

RowSet rowSet = session.Execute("SELECT table_name FROM system_schema.tables;");
double requestCharge = BitConverter.ToDouble(rowSet.Info.IncomingPayload["RequestCharge"].Reverse().ToArray(), 0);

Weitere Informationen finden Sie unter Quickstart: Erstellen einer Cassandra-App mithilfe des .NET-SDK und Azure Cosmos DB.

Nächste Schritte

Informationen zum Optimieren Ihres RU-Verbrauchs finden Sie in diesen Artikeln: