Verwenden von Spring Data mit Azure Cosmos DB für Apache Cassandra
In diesem Artikel wird das Erstellen einer Beispielanwendung veranschaulicht, die Spring Data zum Speichern und Abrufen von Informationen mithilfe von Azure Cosmos DB für Apache Cassandra verwendet.
Voraussetzungen
Azure-Abonnement (kostenloses Abonnement erstellen)
Java Development Kit (JDK), Version 8 oder höher.
Einen Git-Client
cURL oder ein ähnliches HTTP-Hilfsprogramm zum Testen der Funktionalität.
Erstellen eines Azure Cosmos DB-Kontos
Das folgende Verfahren erstellt und konfiguriert ein Azure Cosmos DB-Konto im Azure-Portal.
Erstellen eines Azure Cosmos DB-Kontos über das Azure-Portal
Hinweis
Ausführlichere Informationen zum Erstellen von Konten finden Sie in der Azure Cosmos DB-Dokumentation.
Navigieren Sie zum Azure-Portal unter https://portal.azure.com/, und melden Sie sich an.
Wählen Sie Ressource erstellen > Erste Schritte > Azure Cosmos DB aus.
Wählen Sie auf dem Bildschirm API-Option auswählen die Option Cassandra aus.
Geben Sie die folgenden Informationen an:
- Abonnement: Geben Sie Ihr Azure-Abonnement an, das sie verwenden soll.
- Ressourcengruppe: Geben Sie an, ob eine neue Ressourcengruppe erstellt werden soll, oder wählen Sie eine vorhandene Ressourcengruppe aus.
- Kontoname: Wählen Sie einen eindeutigen Namen für Ihr Azure Cosmos DB-Konto aus. Dieser Name wird verwendet, um einen vollqualifizierten Do Standard Namen wie wingtiptoyscassandra.documents.azure.com zu erstellen.
- API: Geben Sie Cassandra für dieses Lernprogramm an.
- Standort: Geben Sie die nächstgelegene geografische Region für Ihre Datenbank an.
Wenn Sie alle oben genannten Informationen eingegeben haben, klicken Sie auf "Überprüfen" und " Erstellen".
Wenn die Angaben auf der Seite „Überprüfen“ korrekt sind, klicken Sie auf Erstellen.
Es dauert ein paar Minuten, die Datenbank bereitzustellen.
Hinzufügen eines Keyspace zu Ihrem Azure Cosmos DB-Konto
Navigieren Sie zum Azure-Portal unter https://portal.azure.com/, und melden Sie sich an.
Wählen Sie "Alle Ressourcen" und dann das azure Cosmos DB-Konto aus, das Sie erstellt haben.
Wählen Sie Daten-Explorer, den Abwärtspfeil und anschließend New Keyspace (Neuer Keyspace) aus. Geben Sie einen eindeutigen Bezeichner für Keyspace id (Keyspace-ID) ein, und wählen Sie dann OK aus.
Abrufen der Verbindungseinstellungen für das Azure Cosmos DB-Konto
Navigieren Sie zum Azure-Portal unter https://portal.azure.com/, und melden Sie sich an.
Wählen Sie "Alle Ressourcen" und dann das azure Cosmos DB-Konto aus, das Sie erstellt haben.
Wählen Sie Verbinden ionszeichenfolgen aus, und kopieren Sie die Werte für die Felder "Kontaktpunkt", "Port", "Benutzername" und "Primäres Kennwort". Sie verwenden diese Werte, um Ihre Anwendung später zu konfigurieren.
Konfigurieren der Beispielanwendung
Mit dem folgenden Verfahren wird die Testanwendung konfiguriert:
Öffnen Sie eine Befehlsshell, und klonen Sie das Beispielprojekt wie im folgenden Beispiel gezeigt mit einem Git-Befehl:
git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
Suchen Sie die Datei application.properties im Ressourcenverzeichnis des Beispielprojekts, oder erstellen Sie die Datei, falls sie noch nicht vorhanden ist.
Öffnen Sie die Datei application.properties in einem Text-Editor, und fügen Sie die folgenden Zeilen in der Datei hinzu, bzw. konfigurieren Sie diese Zeilen. Ersetzen Sie dabei die Beispielwerte durch die entsprechenden Werte, die Sie zuvor festgelegt haben:
spring.data.cassandra.contact-points=wingtiptoyscassandra.cassandra.cosmos.azure.com spring.data.cassandra.port=10350 spring.data.cassandra.username=wingtiptoyscassandra spring.data.cassandra.password=********
Hierbei gilt:
Parameter BESCHREIBUNG spring.data.cassandra.contact-points
Der Kontaktpunkt, den Sie weiter oben in diesem Artikel kopiert haben spring.data.cassandra.port
Der Port, den Sie weiter oben in diesem Artikel kopiert haben spring.data.cassandra.username
Der Benutzername, den Sie weiter oben in diesem Artikel kopiert haben spring.data.cassandra.password
Das primäre Kennwort, das Sie weiter oben in diesem Artikel kopiert haben Speichern und schließen Sie die Datei application.properties.
Verpacken und Testen der Beispielanwendung
Navigieren Sie zum Verzeichnis, das die pom.xml Datei enthält, um die Anwendung zu erstellen und zu testen.
Erstellen Sie die Beispielanwendung mit Maven. Beispiel:
mvn clean package
Starten Sie die Beispielanwendung. Beispiel:
java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
Erstellen Sie wie in den folgenden Beispielen dargestellt über eine Eingabeaufforderung mit
curl
neue Datensätze:curl -s -d "{\"name\":\"dog\",\"species\":\"canine\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets curl -s -d "{\"name\":\"cat\",\"species\":\"feline\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
Ihre Anwendung sollte Werte wie das folgende Beispiel zurückgeben:
Added Pet{id=60fa8cb0-0423-11e9-9a70-39311962166b, name='dog', species='canine'}. Added Pet{id=72c1c9e0-0423-11e9-9a70-39311962166b, name='cat', species='feline'}.
Rufen Sie wie im folgenden Beispiel dargestellt über eine Eingabeaufforderung mit
curl
alle vorhandenen Datensätze ab:curl -s http://localhost:8080/pets
Ihre Anwendung sollte Werte wie die folgenden Beispiele zurückgeben:
[{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
Zusammenfassung
In diesem Lernprogramm haben Sie eine Java-Beispielanwendung erstellt, die Spring Data verwendet, um Informationen mithilfe von Azure Cosmos DB für Apache Cassandra zu speichern und abzurufen.
Bereinigen von Ressourcen
Verwenden Sie das Azure-Portal, um die in diesem Artikel erstellten Ressourcen zu löschen, wenn Sie sie nicht mehr benötigen, um unerwartete Gebühren zu vermeiden.
Nächste Schritte
Weitere Informationen zu Spring und Azure finden Sie im Dokumentationscenter zu Spring in Azure.
Weitere Informationen
Weitere Informationen zur Verwendung von Azure mit Java finden Sie unter Azure für Java-Entwickler und Working with Azure DevOps and Java (Arbeiten mit Azure DevOps und Java).