Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erstellen Sie eine einfache Azure DocumentDB-Anwendung mit Java. Azure DocumentDB ist ein NoSQL-Datenspeicher, mit dem Anwendungen Dokumente in der Cloud speichern und mit offiziellen MongoDB-Treibern darauf zugreifen können. In diesem Handbuch wird gezeigt, wie Sie Dokumente erstellen und grundlegende Aufgaben in Ihrem Azure DocumentDB-Cluster mit Java ausführen.
API-Referenz | Quellcode | Paket (Maven)
Voraussetzungen
Ein Azure-Abonnement
- Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto
- Java 21 oder höher
Erstellen eines Azure DocumentDB-Clusters
Zunächst müssen Sie einen Azure DocumentDB-Cluster erstellen, der als Grundlage für das Speichern und Verwalten Ihrer NoSQL-Daten dient.
Melden Sie sich beim Azure-Portal an (https://portal.azure.com).
Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.
Suchen Sie auf der Seite "Neu" nach Azure DocumentDB, und wählen Sie sie aus.
Wählen Sie auf der Seite "Azure DocumentDB-Cluster erstellen" und im Abschnitt " Grundlagen " die Option "Konfigurieren" im Abschnitt " Clusterebene " aus.
Konfigurieren Sie auf der Seite "Skalieren " diese Optionen, und wählen Sie dann " Speichern " aus, um ihre Änderungen auf der Clusterebene beizubehalten.
Wert Cluster-Ebene M30 tier, 2 vCore, 8-GiB RAMSpeicherplatz pro Shard 128 GiB
Gehen Sie zurück in den Abschnitt "Grundlagen" und konfigurieren Sie die folgenden Optionen:
Wert Subscription Wählen Sie Ihr Azure-Abonnement aus. Ressourcengruppe Erstellen Sie eine neue Ressourcengruppe, oder wählen Sie eine vorhandene Ressourcengruppe aus Clustername Geben Sie einen global eindeutigen Namen an. Ort Wählen Sie eine unterstützte Azure-Region für Ihre Subscription MongoDB-Version Auswählen 8.0Admin-Benutzername Erstellen eines Benutzernamens für den Zugriff auf den Cluster als Benutzeradministrator Passwort Verwenden eines eindeutigen Kennworts, das dem Benutzernamen zugeordnet ist
Tipp
Notieren Sie die Werte, die Sie für Benutzername und Kennwort verwenden. Diese Werte werden weiter unten in diesem Leitfaden verwendet. Weitere Informationen zu gültigen Werten finden Sie unter Clusterbeschränkungen.
Klicken Sie auf Weiter: Netzwerk.
Konfigurieren Sie im Abschnitt "Firewallregeln " auf der Registerkarte "Netzwerk " die folgenden Optionen:
Wert Konnektivitätsmethode Public accessZulassen des öffentlichen Zugriffs von Azure-Diensten und -Ressourcen in Azure auf diesen Cluster Aktiviert Fügen Sie eine Firewallregel für Ihr aktuelles Clientgerät hinzu, um Zugriff auf den Cluster zu gewähren, indem Sie +Aktuelle Client-IP-Adresse hinzufügen auswählen.
Tipp
In vielen Unternehmensumgebungen werden IP-Adressen des Entwicklercomputers aufgrund von VPN-Einstellungen oder anderer Unternehmensnetzwerkeinstellungen ausgeblendet. In diesen Fällen können Sie vorübergehend den Zugriff auf alle IP-Adressen zulassen, indem Sie den
0.0.0.0-255.255.255.255IP-Adressbereich als Firewallregel hinzufügen. Verwenden Sie diese Firewallregel nur vorübergehend als Teil von Verbindungstests und -entwicklung.Klicken Sie auf Überprüfen + erstellen.
Überprüfen Sie die von Ihnen angegebenen Einstellungen, und wählen Sie dann Erstellen aus. Die Erstellung des Clusters dauert einige Minuten. Warten Sie, bis die Ressourcenbereitstellung abgeschlossen ist.
Wählen Sie schließlich "Zur Ressource wechseln " aus, um im Portal zum Azure DocumentDB-Cluster zu navigieren.
Abrufen von Clusteranmeldeinformationen
Rufen Sie die Anmeldeinformationen ab, die Sie zum Herstellen einer Verbindung mit dem Cluster verwenden.
Wählen Sie auf der Clusterseite die Option "Verbindungszeichenfolgen" im Ressourcenmenü aus.
Kopieren oder aufzeichnen Sie im Abschnitt "Verbindungszeichenfolgen " den Wert aus dem Feld "Verbindungszeichenfolge ".
Von Bedeutung
Die Verbindungszeichenfolge im Portal enthält nicht den Kennwortwert. Sie müssen den <password> Platzhalter durch die Anmeldeinformationen ersetzen, die Sie beim Erstellen des Clusters eingegeben haben, oder das Kennwort interaktiv eingeben.
Initialisieren des Projekts
Erstellen Sie ein neues Maven-Projekt in Ihrem aktuellen Verzeichnis.
Beginnen Sie in einem leeren Verzeichnis.
Öffnen Sie ein Terminal im aktuellen Verzeichnis.
Erstellen Sie ein neues Maven-Projekt mithilfe des Schnellstart-Archetyps.
mvn archetype:generate -DgroupId=com.example -DartifactId=azure-documentdb-java-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=falseNavigieren Sie zum generierten Projektverzeichnis.
cd azure-documentdb-java-quickstartErstellen Sie das Projekt, um sicherzustellen, dass es erfolgreich erstellt wurde.
mvn compile
Installieren der Clientbibliothek
Die Clientbibliothek ist über Maven als mongodb-driver-sync Artefakt verfügbar.
Fügen Sie die MongoDB-Java-Treiber-Abhängigkeit in Ihre
pom.xmlDatei ein<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>5.2.0</version> </dependency>Öffnen Und überprüfen Sie die pom.xml Datei, um zu überprüfen, ob der Abhängigkeitseintrag vorhanden ist.
Importieren Sie die erforderlichen Pakete in Ihren Anwendungscode:
import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.model.ReplaceOptions; import org.bson.Document; import org.bson.conversions.Bson; import java.util.Arrays; import java.util.List;
Objektmodell
| Name | Description |
|---|---|
MongoClient |
Typ, der zum Herstellen einer Verbindung mit MongoDB verwendet wird. |
MongoDatabase |
Stellt eine Datenbank im Cluster dar. |
MongoCollection<Document> |
Stellt eine Auflistung innerhalb einer Datenbank im Cluster dar. |
Code-Beispiele
- Authentifizieren des Clients
- Abrufen einer Auflistung
- Erstellen eines Dokuments
- Abrufen eines Dokuments
- Abfragedokumente
Der Code in dieser Anwendung stellt eine Verbindung zu einer Datenbank namens adventureworks und einer Sammlung namens products her. Die products Sammlung enthält Details wie Name, Kategorie, Menge, eindeutigen Bezeichner und ein Verkaufskennzeichen für jedes Produkt. In den Codebeispielen werden hier die am häufigsten verwendeten Vorgänge beim Arbeiten mit einer Auflistung ausgeführt.
Authentifizieren des Clients
Stellen Sie zunächst mithilfe einer einfachen Verbindungszeichenfolge eine Verbindung mit dem Client her.
Erstellen Sie die Hauptmethode, und richten Sie die Verbindungszeichenfolge ein. Ersetzen Sie
<your-cluster-name>,<your-username>und<your-password>durch Ihre tatsächlichen Clusterinformationen.public class App { public static void main(String[] args) { // Connection string for Azure DocumentDB cluster String connectionString = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000";Erstellen Sie den MongoDB-Client, und überprüfen Sie die Verbindung.
// Create a new client and connect to the server try (MongoClient mongoClient = MongoClients.create(connectionString)) { // Ping the server to verify connection MongoDatabase database = mongoClient.getDatabase("admin"); database.runCommand(new Document("ping", 1)); System.out.println("Successfully connected and pinged Azure DocumentDB");
Sammlung abrufen
Rufen Sie nun Ihre Datenbank und Sammlung ab. Wenn die Datenbank und Sammlung noch nicht vorhanden ist, verwenden Sie den Treiber, um sie automatisch zu erstellen.
Holen Sie sich eine Referenz auf die Datenbank.
// Get database reference MongoDatabase adventureWorksDatabase = mongoClient.getDatabase("adventureworks"); System.out.println("Connected to database: " + adventureWorksDatabase.getName());Rufen Sie einen Verweis auf die Sammlung in der Datenbank ab.
// Get collection reference MongoCollection<Document> productsCollection = adventureWorksDatabase.getCollection("products"); System.out.println("Connected to collection: products");
Erstellen eines Dokuments
Erstellen Sie dann ein paar neue Dokumente in Ihrer Sammlung. Führen Sie eine Upsert für die Dokumente aus, um sicherzustellen, dass vorhandene Dokumente ersetzt werden, wenn sie bereits mit demselben eindeutigen Bezeichner vorhanden sind.
Erstellen Sie Beispielproduktdokumente mithilfe der Document-Klasse.
// Create sample products List<Document> products = Arrays.asList( new Document("_id", "00000000-0000-0000-0000-000000004018") .append("name", "Windry Mittens") .append("category", "apparel-accessories-gloves-and-mittens") .append("quantity", 121) .append("price", 35.00) .append("sale", false), new Document("_id", "00000000-0000-0000-0000-000000004318") .append("name", "Niborio Tent") .append("category", "gear-camp-tents") .append("quantity", 140) .append("price", 420.00) .append("sale", true) );Fügen Sie die Dokumente mithilfe von Upsert-Vorgängen ein.
// Insert documents with upsert for (Document product : products) { Bson filter = Filters.eq("_id", product.getString("_id")); ReplaceOptions options = new ReplaceOptions().upsert(true); productsCollection.replaceOne(filter, product, options); System.out.println("Upserted product: " + product.getString("name")); }
Abrufen eines Dokuments
Führen Sie als Nächstes einen Punktlesevorgang aus, um ein bestimmtes Dokument aus Ihrer Sammlung abzurufen.
Definieren Sie den Filter, um ein bestimmtes Dokument anhand der ID zu finden.
// Retrieve a specific document by ID Bson filter = Filters.eq("_id", "00000000-0000-0000-0000-000000004018");Führen Sie die Abfrage aus, und rufen Sie das Ergebnis ab.
Document retrievedProduct = productsCollection.find(filter).first(); if (retrievedProduct != null) { System.out.println("Retrieved product: " + retrievedProduct.getString("name") + " - $" + retrievedProduct.getDouble("price")); } else { System.out.println("Product not found"); }
Abfragedokumente
Fragen Sie schließlich mehrere Dokumente mithilfe der MongoDB Query Language (MQL) ab.
Definieren Sie eine Abfrage, um Dokumente zu finden, die bestimmten Kriterien entsprechen.
// Query for products on sale Bson saleFilter = Filters.eq("sale", true);Durchlaufen Sie den Cursor, um alle übereinstimmenden Dokumente abzurufen.
System.out.println("Products on sale:"); for (Document product : productsCollection.find(saleFilter)) { System.out.printf("- %s: $%.2f (Category: %s)%n", product.getString("name"), product.getDouble("price"), product.getString("category")); } } catch (Exception e) { System.err.println("An error occurred: " + e.getMessage()); e.printStackTrace(); } } }
Erkunden Ihrer Daten mithilfe von Visual Studio Code
Verwenden Sie die DocumentDB-Erweiterung in Visual Studio Code, um kerne Datenbankvorgänge auszuführen, einschließlich Abfragen, Einfügen, Aktualisieren und Löschen von Daten.
Öffnen Sie Visual Studio Code.
Navigieren Sie zur Ansicht "Erweiterungen ", und suchen Sie nach dem Ausdruck
DocumentDB. Suchen Sie die DocumentDB-Erweiterung für VS Code .Wählen Sie die Schaltfläche " Installieren " für die Erweiterung aus. Warten Sie, bis die Installation abgeschlossen ist. Laden Sie Visual Studio Code neu, wenn Sie dazu aufgefordert werden.
Navigieren Sie zur DocumentDB-Erweiterung , indem Sie das entsprechende Symbol in der Aktivitätsleiste auswählen.
Wählen Sie im Bereich "DocumentDB-Verbindungen " +Neue Verbindung... aus.
Wählen Sie im Dialogfeld "Dienstermittlung " und dann "Azure DocumentDB – Azure Service Discovery" aus.
Wählen Sie Ihr Azure-Abonnement und Ihren neu erstellten Azure DocumentDB-Cluster aus.
Tipp
In vielen Unternehmensumgebungen werden IP-Adressen des Entwicklercomputers aufgrund von VPN-Einstellungen oder anderer Unternehmensnetzwerkeinstellungen ausgeblendet. In diesen Fällen können Sie vorübergehend den Zugriff auf alle IP-Adressen zulassen, indem Sie den
0.0.0.0-255.255.255.255IP-Adressbereich als Firewallregel hinzufügen. Verwenden Sie diese Firewallregel nur vorübergehend als Teil von Verbindungstests und -entwicklung. Weitere Informationen finden Sie unter "Konfigurieren der Firewall".Erweitern Sie im Bereich DocumentDB-Verbindungen den Knoten für Ihren Cluster, und navigieren Sie zu Ihren vorhandenen Dokument- und Sammlungsknoten.
Öffnen Sie das Kontextmenü für die Auflistung, und wählen Sie dann "DocumentDB Scrapbook New DocumentDB Scrapbook > " aus.
Geben Sie die folgenden MongoDB Query Language (MQL)-Befehle ein, und wählen Sie dann "Alle ausführen" aus. Beobachten Sie die Ergebnisse der Befehle.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Bereinigen von Ressourcen
Wenn Sie mit dem Azure DocumentDB-Cluster fertig sind, können Sie die azure-Ressourcen löschen, die Sie erstellt haben, damit keine weiteren Gebühren anfallen.
Suchen Sie über die Suchleiste des Azure-Portals nach Ressourcengruppen, und wählen Sie die entsprechende Option aus.
Wählen Sie in der Liste die Ressourcengruppe aus, die Sie für diesen Schnellstart verwendet haben.
Wählen Sie auf der Ressourcengruppenseite die Option Ressourcengruppe löschen aus.
Geben Sie im Dialogfeld zum Bestätigen des Löschvorgangs den Namen der Ressourcengruppe ein, um zu bestätigen, dass Sie sie löschen möchten. Wählen Sie abschließend Löschen aus, um die Ressourcengruppe endgültig zu löschen.