Azure Cosmos DB for NoSQL: Beispiele für Version 4 des Java SDK

GILT FÜR: NoSQL

Wichtig

Weitere Informationen zu Java SDK v4 finden Sie in den Versionshinweisen zu Azure Cosmos DB Java SDK v4, im Maven-Repository, in den Tipps zur Leistungssteigerung und im Leitfaden zur Problembehandlung für Azure Cosmos DB Java SDK v4. Wenn Sie aktuell eine ältere Version als v4 verwenden, lesen Sie den Leitfaden Migrieren zu Azure Cosmos DB Java SDK v4, um Hilfe beim Aktualisieren auf v4 zu erhalten.

Wichtig

Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.

Sie können Azure Cosmos DB kostenlos testen – ohne Azure-Abonnement und unverbindlich. Alternativ können Sie ein Azure Cosmos DB-Konto im Free-Tarif erstellen, bei dem die ersten 1000 RUs/Sek. sowie 25 GB Speicher kostenlos sind. Sie können auch den Azure Cosmos DB-Emulator mit dem URI https://localhost:8081 verwenden. Informationen zur Verwendung des Schlüssels mit dem Emulator finden Sie unter Verwenden des Azure Cosmos-Emulators für lokale Entwicklungs- und Testvorgänge.

Die neuesten Beispielanwendungen, in denen CRUD-Vorgänge und andere gängige Vorgänge für Azure Cosmos DB-Ressourcen ausgeführt werden, finden Sie im GitHub-Repository azure-cosmos-java-sql-api-samples. Dieser Artikel enthält Folgendes:

  • Links zu den Aufgaben in den einzelnen Java-Beispielprojektdateien.
  • Links zum zugehörigen API-Referenzinhalt.

Voraussetzungen

Zum Ausführen dieser Beispielanwendung benötigen Sie Folgendes:

  • Java Development Kit 8
  • Azure Cosmos DB Java SDK v4

Optional können Sie Maven verwenden, um die aktuellen Binärdateien von Azure Cosmos DB Java SDK v4 zur Verwendung in Ihrem Projekt abzurufen. Maven fügt alle erforderlichen Abhängigkeiten automatisch hinzu. Andernfalls können Sie die in der Datei „pom.xml“ aufgelisteten Abhängigkeiten direkt herunterladen und Ihrem Buildpfad hinzufügen.

<dependency>
	<groupId>com.azure</groupId>
	<artifactId>azure-cosmos</artifactId>
	<version>LATEST</version>
</dependency>

Ausführen der Beispielanwendungen

Klonen des Beispielrepositorys:

$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git

$ cd azure-cosmos-java-sql-api-samples

Sie können die Beispiele entweder in einer IDE (Eclipse, IntelliJ oder VS Code) oder über die Befehlszeile mit Maven ausführen.

Diese Umgebungsvariablen müssen festgelegt sein,

ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key

um den Beispielen Lese-/Schreibzugriff auf Ihr Konto zu gewähren.

Zum Ausführen eines Beispiels müssen Sie die zugehörige Hauptklasse (Main Class) angeben,

com.azure.cosmos.examples.sample.synchronicity.MainClass

wobei sample.synchronicity.MainClass Folgendem entsprechen kann:

  • crudquickstart.sync.SampleCRUDQuickstart
  • crudquickstart.async.SampleCRUDQuickstartAsync
  • indexmanagement.sync.SampleIndexManagement
  • indexmanagement.async.SampleIndexManagementAsync
  • storedprocedure.sync.SampleStoredProcedure
  • storedprocedure.async.SampleStoredProcedureAsync
  • changefeed.SampleChangeFeedProcessor (für changefeed gibt es nur ein asychrones und kein synchrones Beispiel) usw.

Hinweis

Jedes Beispiel ist eigenständig mit eigener Einrichtung und Bereinigung. In den Beispielen werden mehrere Aufrufe ausgegeben, um einen CosmosContainer oderCosmosAsyncContainer zu erstellen. Dabei wird Ihrem Abonnement jedes Mal 1 Stunde Nutzung gemäß der Leistungsstufe der erstellten Sammlung berechnet.

Datenbankbeispiele

Die Datenbank CRUD-Beispieldateien für die Synchronisierung und asynchron zeigen, wie die folgenden Aufgaben ausgeführt werden. Um mehr über die Azure Cosmos DB-Datenbanken zu erfahren, lesen Sie vor dem Ausführen der folgenden Beispiele den Konzeptartikel Arbeiten mit Datenbanken, Containern und Elementen.

Aufgabe API-Referenz
Erstellen einer Datenbank CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
Lesen einer Datenbank nach ID CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
Lesen aller Datenbanken CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
Löschen einer Datenbank CosmosDatabase.delete
CosmosAsyncDatabase.delete

Sammlungsbeispiele

Die Datenbank CRUD-Beispieldateien für die Synchronisierung und asynchron zeigen, wie die folgenden Aufgaben ausgeführt werden. Um mehr über die Azure Cosmos DB-Sammlungen zu erfahren, lesen Sie vor dem Ausführen der folgenden Beispiele den Konzeptartikel Arbeiten mit Datenbanken, Containern und Elementen.

Aufgabe API-Referenz
Erstellen einer Sammlung CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Ändern der konfigurierten Leistung einer Sammlung CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
Abrufen einer Auflistung nach ID CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
Lesen aller Sammlungen in einer Datenbank CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
Löschen einer Sammlung CosmosContainer.delete
CosmosAsyncContainer.delete

Beispiele der Autoskalierungssammlung

Um vor dem Ausführen dieser Beispiele mehr über die Autoskalierung zu erfahren, lesen Sie diese Anweisungen zum Aktivieren der Autoskalierung in Ihrem Konto und in Ihren Datenbanken und Containern.

Die Datenbank CRUD-Beispieldateien für die Synchronisierung und asynchron zeigen, wie die folgenden Aufgaben ausgeführt werden.

Aufgabe API-Referenz
Erstellen einer Datenbank mit einem definierten maximalen per Autoskalierung bereitgestellten Durchsatz CosmosClient.createDatabase
CosmosAsyncClient.createDatabase

Die Datenbank CRUD-Beispieldateien für die Synchronisierung und asynchron zeigen, wie die folgenden Aufgaben ausgeführt werden.

Aufgabe API-Referenz
Erstellen einer Sammlung mit einem definierten maximalen per Autoskalierung bereitgestellten Durchsatz CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Ändern des für eine Sammlung konfigurierten maximalen per Autoskalierung bereitgestellten Durchsatzes CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceThroughput
Lesen der Konfiguration des per Autoskalierung bereitgestellten Durchsatzes für eine Sammlung CosmosContainer.readThroughput
CosmosAsyncContainer.readThroughput

Beispiele der Analysespeichersammlung

Die Datenbank CRUD-Beispieldateien für die Synchronisierung und asynchron zeigen, wie die folgenden Aufgaben ausgeführt werden. Um vor dem Ausführen der folgenden Beispiele mehr über die Azure Cosmos DB-Sammlungen zu erfahren, lesen Sie die Informationen zu Azure Cosmos DB-Synapse und -Analysespeicher.

Aufgabe API-Referenz
Erstellen einer Sammlung CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists

Elementbeispiele

Die Datenbank CRUD-Beispieldateien für die Synchronisierung und asynchron zeigen, wie die folgenden Aufgaben ausgeführt werden. Um mehr über die Azure Cosmos DB-Dokumente zu erfahren, lesen Sie vor dem Ausführen der folgenden Beispiele den Konzeptartikel Arbeiten mit Datenbanken, Containern und Elementen.

Hinweis

Sie müssen einen Partitionsschlüssel angeben, wenn Sie Operationen mit einem bestimmten Element durchführen.

Aufgabe API-Referenz
Erstellen eines Dokuments CosmosContainer.createItem
CosmosAsyncContainer.createItem
Lesen eines Dokuments nach ID CosmosContainer.readItem
CosmosAsyncContainer.readItem
Abfragen von Dokumenten CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Ersetzen eines Dokuments CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Aktualisieren und Einfügen (Upsert) eines Dokuments CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Löschen eines Dokuments CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Ersetzen eines Dokuments mit bedingter ETag-Überprüfung CosmosItemRequestOptions.setIfMatchETag (sync)
CosmosItemRequestOptions.setIfMatchETag (async)
Lesen eines Dokuments, nur wenn das Dokument geändert wurde CosmosItemRequestOptions.setIfNoneMatchETag (sync)
CosmosItemRequestOptions.setIfNoneMatchETag (async)
Teilaktualisierung von Dokumenten CosmosContainer.patchItem
Letzte Aktualisierung des Dokuments Massenproben
Transaktionsstapel Batch-Stichprobe

Indizierungsbeispiele

Die Datei Collection CRUD Samples zeigt, wie die folgenden Aufgaben ausgeführt werden. Um mehr über die Indizierung in Azure Cosmos DB zu erfahren, lesen Sie vor dem Ausführen der folgenden Beispiele die Konzeptartikel Indizierungsrichtlinien, Indizierungstypen und Indizierungspfade.

Aufgabe API-Referenz
Einschließen bestimmter Dokumentpfade in den Index IndexingPolicy.IncludedPaths
Ausschließen bestimmter Dokumentpfade aus dem Index IndexingPolicy.ExcludedPaths
Erstellen eines zusammengesetzten Index IndexingPolicy.setCompositeIndexes
CompositePath
Erstellen eines „GeoSpatial“-Index IndexingPolicy.setSpatialIndexes
SpatialSpec
SpatialType

Weitere Informationen zur Indizierung finden Sie unter Indizierungsrichtlinien für Azure Cosmos DB.

Beispiele für Abfragen

Die Datei Query Samples und async zeigen, wie die folgenden Aufgaben mithilfe der SDL-Abfragegrammatik ausgeführt werden. Machen Sie sich im Artikel SQL-Abfragebeispiele mit der SQL-Abfragereferenz in Azure Cosmos DB vertraut, bevor Sie die folgenden Beispiele ausführen.

Aufgabe API-Referenz
Abfragen aller Dokumente CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen der Gleichheit mit „==“ CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen der Ungleichheit mit „!=“ und „NOT“ CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit Bereichsoperatoren wie >, <, >=, <= CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit Bereichsoperatoren für Zeichenfolgen CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit „ORDER BY“ CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit „DISTINCT“ CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit Aggregatfunktionen CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Verwenden von Unterdokumenten CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit dokumentinternen Verknüpfungen (Joins) CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit Zeichenfolgen-, Mathematik- und Arrayoperatoren CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit parametrisierter SQL per SqlQuerySpec CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Abfragen mit expliziter Auslagerung CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Paralleles Abfragen partitionierter Sammlungen CosmosContainer.queryItems
CosmosAsyncContainer.queryItems

Beispiel für einen Änderungsfeed

Die Datei Change Feed Processor Sample zeigt, wie die folgenden Aufgaben ausgeführt werden. Machen Sie sich anhand von Lesen des Azure Cosmos DB-Änderungsfeeds und Änderungsfeedprozessor in Azure Cosmos DB mit Änderungsfeeds in Azure Cosmos DB vertraut, bevor Sie die folgenden Beispiele ausführen.

Aufgabe API-Referenz
Grundlegende Funktionen von Änderungsfeeds ChangeFeedProcessor.changeFeedProcessorBuilder
Lesen eines Änderungsfeeds von Anfang an ChangeFeedProcessorOptions.setStartFromBeginning()

Serverseitige Programmierbeispiele

Die Datei Stored Procedure Sample zeigt, wie die folgenden Aufgaben ausgeführt werden. Machen Sie sich anhand von Gespeicherte Prozeduren, Trigger und benutzerdefinierte Funktionen mit der serverseitigen Programmierung in Azure Cosmos DB vertraut, bevor Sie die folgenden Beispiele ausführen.

Aufgabe API-Referenz
Erstellen einer gespeicherten Prozedur CosmosScripts.createStoredProcedure
Ausführen einer gespeicherten Prozedur CosmosStoredProcedure.execute
Löschen einer gespeicherten Prozedur CosmosStoredProcedure.delete

Nächste Schritte

Versuchen Sie, die Kapazitätsplanung für eine Migration zu Azure Cosmos DB durchzuführen? Sie können Informationen zu Ihrem vorhandenen Datenbankcluster für die Kapazitätsplanung verwenden.