Ermitteln der Gebühr für Anforderungseinheiten für Vorgänge, die in der Gremlin-API für Azure Cosmos DB ausgeführt werden

GILT FÜR: Gremlin-API

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-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 der Gremlin-API für Azure Cosmos DB ausgeführt wurde. Wenn Sie eine andere API verwenden, finden Sie weitere Informationen zum Ermitteln der RU/s-Gebühr unter API für MongoDB, Cassandra-API, SQL-API und Tabellen-API.

Von der Gremlin-API zurückgegebene Header werden benutzerdefinierten Statusattributen zugeordnet, die aktuell durch das Gremlin .NET SDK und das Gremlin Java SDK bereitgestellt werden. Die Anforderungsgebühr ist unter dem Schlüssel x-ms-request-charge verfügbar. Wenn Sie die Gremlin-API verwenden, bestehen mehrere Optionen zum Ermitteln des RU-Verbrauchs für einen Vorgang in einem Azure Cosmos-Container.

Verwenden des Azure-Portals

  1. Melden Sie sich beim Azure-Portal an.

  2. Erstellen Sie ein neues Azure Cosmos-Konto, und fügen Sie ihm Daten hinzu, oder wählen Sie ein vorhandenes Konto aus, das bereits Daten enthält.

  3. Wechseln Sie zum Bereich Daten-Explorer, und wählen Sie dann den gewünschten Container aus.

  4. Geben Sie eine gültige Abfrage ein, und wählen Sie dann Execute Gremlin Query (Gremlin-Abfrage ausführen) aus.

  5. Wählen Sie Query Stats (Abfragestatistik) aus, um die tatsächliche Anforderungsgebühr für die ausgeführte Anforderung anzuzeigen.

Screenshot zum Abrufen der Gebühr für die Anforderung einer Gremlin-Abfrage im Azure-Portal

Verwenden des .NET SDK-Treibers

Wenn Sie das Gremlin .NET SDK verwenden, stehen Statusattribute unter der Eigenschaft StatusAttributes des Objekts ResultSet<> zur Verfügung:

ResultSet<dynamic> results = client.SubmitAsync<dynamic>("g.V().count()").Result;
double requestCharge = (double)results.StatusAttributes["x-ms-request-charge"];

Weitere Informationen finden Sie unter Quickstart: Erstellen einer .NET Framework- oder Core-Anwendung mithilfe eines Gremlin-API-Kontos für Azure Cosmos DB.

Verwenden des Java SDK-Treibers

Wenn Sie das Gremlin Java SDK verwenden, können Sie Statusattribute durch Aufrufen der statusAttributes()-Methode für das ResultSet-Objekt abrufen:

ResultSet results = client.submit("g.V().count()");
Double requestCharge = (Double)results.statusAttributes().get().get("x-ms-request-charge");

Weitere Informationen finden Sie unter Quickstart: Erstellen einer Graphdatenbank in Azure Cosmos DB mithilfe des Java SDK.

Nächste Schritte

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