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.
GILT FÜR:
Kassandra
Als Entwickler besitzen Sie möglicherweise Anwendungen, die Schlüssel/Wert-Paare verwenden. Sie können eine API für das Cassandra-Konto in Azure Cosmos DB verwenden, um die Schlüssel-/Wertdaten zu speichern. In diesem Lernprogramm wird beschrieben, wie Sie eine Java-Anwendung verwenden, um eine API für das Cassandra-Konto in Azure Cosmos DB zu erstellen, eine Datenbank (auch als Keyspace bezeichnet) hinzuzufügen und eine Tabelle hinzuzufügen. Die Java-Anwendung verwendet den Java-Treiber , um eine Benutzerdatenbank zu erstellen, die Details wie Benutzer-ID, Benutzername und Benutzerstadt enthält.
Dieses Tutorial enthält die folgenden Aufgaben:
- Erstellen Sie ein Cassandra-Datenbankkonto.
- Rufen Sie die Kontoverbindungszeichenfolge ab.
- Erstellen Sie ein Maven-Projekt und Abhängigkeiten.
- Fügen Sie eine Datenbank und eine Tabelle hinzu.
- Führen Sie die App aus.
Voraussetzungen
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Beziehen Sie die aktuelle Version des Java Development Kit (JDK).
-
Führen Sie den Download und die Installation des binären Maven-Archivs durch. Unter Ubuntu können Sie
apt-get install mavenausführen, um Maven zu installieren.
Erstellen eines Datenbankkontos
Wählen Sie im Azure-Portalmenü oder auf der Startseite die Option "Ressource erstellen" aus.
Suchen Sie auf der Seite Neu nach Azure Cosmos DB, und wählen Sie die Option aus.
Wählen Sie auf der Seite Azure Cosmos DB die Option Erstellen aus.
Wählen Sie auf der SEITE "API " unter dem Abschnitt "Cassandra " die Option "Erstellen" aus.
Die API bestimmt den Typ des zu erstellenden Kontos. Azure Cosmos DB stellt fünf APIs bereit: für NoSQL (für Dokumentdatenbanken), Gremlin (für Graphdatenbanken), MongoDB (für Dokumentdatenbanken), Azure Table und Cassandra. Sie müssen ein separates Konto für jede API erstellen.
Wählen Sie Cassandra aus, da Sie in diesem Lernprogramm eine Tabelle erstellen, die mit der API für Cassandra funktioniert.
Weitere Informationen zur API für Cassandra finden Sie unter Was ist Azure Cosmos DB für Apache Cassandra?.
Geben Sie auf der Seite "Azure Cosmos DB-Konto erstellen " die Grundlegenden Einstellungen für das neue Azure Cosmos DB-Konto ein.
Einstellung Wert BESCHREIBUNG Abonnement Ihr Abonnement Wählen Sie das Azure-Abonnement aus, das Sie für dieses Azure Cosmos DB-Konto verwenden möchten. Ressourcengruppe Erstellen Sie ein Neues.
Geben Sie dann denselben Namen wie "Kontoname" ein.Wählen Sie Neu erstellen. Geben Sie dann einen neuen Ressourcengruppenname für Ihr Konto ein. Verwenden Sie der Einfachheit halber den gleichen Namen als Azure Cosmos DB-Kontonamen. Kontoname Geben Sie einen eindeutigen Namen ein. Geben Sie einen eindeutigen Namen ein, der Ihr Azure Cosmos DB-Konto identifiziert. Ihr Konto-URI, cassandra.cosmos.azure.com, wird an Ihren eindeutigen Kontonamen angehängt.
Der Kontoname kann nur Kleinbuchstaben, Zahlen und Bindestriche (-) verwenden und muss zwischen 3 und 31 Zeichen lang sein.Ort Hier sollte die Region verwendet werden, die Ihren Benutzer*innen am nächsten liegt. Wählen Sie einen geografischen Standort aus, an dem Ihr Azure Cosmos DB-Konto gehostet werden soll. Verwenden Sie einen Standort, der Ihren Benutzern am nächsten liegt, um ihnen einen schnellen Zugriff auf die Daten zu gewähren. Kapazitätsmodus Bereitgestellter Durchsatz oder Serverless. Wählen Sie "Bereitgestellter Durchsatz " aus, um ein Konto im Modus " Bereitgestellter Durchsatz " zu erstellen. Wählen Sie "Serverless" aus, um ein Konto im Serverless-Modus zu erstellen. Anwenden des Rabatts für den Free-Tarif für Azure Cosmos DB Übernehmen oder Nicht übernehmen. Mit der kostenlosen Azure Cosmos DB-Stufe erhalten Sie die ersten 1.000 RU/s und 25 GB Speicherplatz kostenlos in einem Konto. Erfahren Sie mehr über die kostenlose Stufe. Beschränken des Gesamtkontodurchsatzes Wählen Sie diese Option aus, um den Durchsatz des Kontos zu begrenzen. Diese Option ist nützlich, wenn Sie den Gesamtdurchsatz des Kontos auf einen bestimmten Wert beschränken möchten. Hinweis
Sie können bis zu einem kostenlosen Azure Cosmos DB-Konto pro Azure-Abonnement haben. Sie müssen sich anmelden, wenn Sie das Konto erstellen. Wenn die Option zum Anwenden des kostenlosen Tarifrabatts nicht angezeigt wird, wurde ein weiteres Konto im Abonnement mit der kostenlosen Stufe aktiviert.
Konfigurieren Sie auf der Registerkarte "Globale Verteilung " die folgenden Details. Verwenden Sie die Standardwerte für dieses Lernprogramm.
Einstellung Wert BESCHREIBUNG Georedundanz Disable Aktivieren oder deaktivieren Sie die globale Verteilung für Ihr Konto, indem Sie Ihre Region mit einer Region koppeln. Sie können später weitere Regionen zu Ihrem Konto hinzufügen. Schreibvorgänge in mehreren Regionen Disable Mit der Multiregion-Schreibfunktion können Sie den bereitgestellten Durchsatz für Ihre Datenbanken und Container auf der ganzen Welt nutzen. Verfügbarkeitszonen Disable Verfügbarkeitszonen sind isolierte Standorte innerhalb einer Azure-Region. Jede Zone besteht aus mindestens einem Rechenzentrum, dessen Stromversorgung, Kühlung und Netzwerkbetrieb unabhängig funktionieren. Die folgenden Optionen sind nicht verfügbar, wenn Sie "Serverless " als Kapazitätsmodus auswählen:
- Anwenden des Rabatts für den Free-Tarif
- Georedundanz
- Schreibvorgänge in mehreren Regionen
Optional können Sie weitere Details auf den folgenden Registerkarten konfigurieren:
- Netzwerk: Konfigurieren des Zugriffs über ein virtuelles Netzwerk.
- Sicherungsrichtlinie: Konfigurieren Sie eine regelmäßige oder fortlaufende Sicherungsrichtlinie.
- Verschlüsselung: Verwenden Sie entweder einen vom Dienst verwalteten Schlüssel oder einen vom Kunden verwalteten Schlüssel.
- Tags: Tags sind Name/Wert-Paare, mit denen Sie Ressourcen kategorisieren und konsolidierte Abrechnung anzeigen können, indem Sie dasselbe Tag auf mehrere Ressourcen und Ressourcengruppen anwenden.
Klicken Sie auf Überprüfen + erstellen.
Überprüfen Sie die Kontoeinstellungen, und wählen Sie anschließend Erstellen aus. Die Erstellung des Kontos dauert einige Minuten. Warten Sie, bis auf der Portalseite Ihre Bereitstellung wurde abgeschlossen. angezeigt wird.
Wählen Sie Zu Ressource wechseln aus, um zur Seite des Azure Cosmos DB-Kontos zu wechseln.
Abrufen der Verbindungsdetails zu Ihrem Konto
Rufen Sie die Informationen der Verbindungszeichenfolge über das Azure-Portal ab, und fügen Sie sie in die Java-Konfigurationsdatei ein. Die Angabe der Verbindungszeichenfolge ermöglicht Ihrer App die Kommunikation mit Ihrer gehosteten Datenbank.
Wechseln Sie im Azure-Portal zu Ihrem Azure Cosmos DB-Konto.
Öffnen Sie den Bereich Verbindungszeichenfolge.
Kopieren Sie die Werte von KONTAKTPUNKT, PORT, BENUTZERNAME, und PRIMÄRES KENNWORT. Diese werden Sie in den nächsten Schritten benötigen.
Erstellen des Projekts und der Abhängigkeiten
Das Java-Beispielprojekt, das Sie in diesem Artikel verwenden, wird in GitHub gehostet. Sie können die Schritte in diesem Artikel ausführen oder das Beispiel aus dem Repository "azure-cosmos-db-cassandra-java-getting-started " herunterladen.
Aktualisieren Sie nach dem Herunterladen der Dateien, die Informationen zur Verbindungszeichenfolge in der Datei java-examples\src\main\resources\config.properties, und führen Sie sie aus.
cassandra_host=<FILLME_with_CONTACT POINT>
cassandra_port = 10350
cassandra_username=<FILLME_with_USERNAME>
cassandra_password=<FILLME_with_PRIMARY PASSWORD>
Führen Sie die folgenden Schritte aus, um das Beispiel von Grund auf neu zu erstellen:
Erstellen Sie im Terminal oder in der Eingabeaufforderung ein neues Maven-Projekt namens
cassandra-demo.mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=falseSuchen Sie den Ordner
cassandra-demo. Öffnen Sie mithilfe eines Text-Editors diepom.xmlgenerierte Datei.Fügen Sie die Cassandra-Abhängigkeiten hinzu, und erstellen Sie Plug-Ins, die Ihr Projekt benötigt, wie in der pom.xml Datei gezeigt.
Erstellen Sie im Ordner
cassandra-demo\src\maineinen neuen Ordner namensresources. Fügen Sie unter demresourcesOrdner dieconfig.propertiesDateien undlog4j.propertieshinzu:- Die Datei config.properties speichert den Verbindungsendpunkt und die Schlüsselwerte des API für Cassandra-Kontos.
- Die Datei log4j.properties definiert die Ebene der Protokollierung, die für die Interaktion mit der API für Cassandra erforderlich ist.
Navigieren Sie zum Ordner
src/main/java/com/azure/cosmosdb/cassandra/. Erstellen Sie innerhalb des Ordnerscassandraeinen anderen Ordner mit dem Namenutils. Der neue Ordner speichert die Hilfsklassen, die zum Herstellen einer Verbindung mit der API für das Cassandra-Konto erforderlich sind.Fügen Sie die Klasse CassandraUtils hinzu, um den Cluster zu erstellen und Cassandra-Sitzungen zu öffnen und zu schließen. Der Cluster stellt eine Verbindung mit dem API für Cassandra-Konto in Azure Cosmos DB her und gibt eine Sitzung für den Zugriff zurück. Verwenden Sie die Configurations-Klasse , um Verbindungszeichenfolgeninformationen aus der
config.propertiesDatei zu lesen.Im Java-Beispiel wird eine Datenbank mit Benutzerinformationen wie Benutzername, Benutzer-ID und Benutzerstadt erstellt. Sie müssen die
get- undset-Methoden definieren, um auf Benutzerdetails in der Hauptfunktion zuzugreifen.Erstellen Sie eine User.java Klasse unter dem
src/main/java/com/azure/cosmosdb/cassandra/Ordner mitgetundsetMethoden.
Hinzufügen einer Datenbank und Tabelle
In diesem Abschnitt wird beschrieben, wie Sie eine Datenbank (Keyspace) und eine Tabelle mithilfe der Cassandra Query Language (CQL) hinzufügen.
Erstellen Sie im Ordner
src\main\java\com\azure\cosmosdb\cassandraeinen neuen Ordner namensrepository.Erstellen Sie die Java-Klasse
UserRepository, und fügen Sie den folgenden Code hinzu:package com.azure.cosmosdb.cassandra.repository; import java.util.List; import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Create a Cassandra session */ public class UserRepository { private static final Logger LOGGER = LoggerFactory.getLogger(UserRepository.class); private Session session; public UserRepository(Session session) { this.session = session; } /** * Create keyspace uprofile in cassandra DB */ public void createKeyspace() { final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }"; session.execute(query); LOGGER.info("Created keyspace 'uprofile'"); } /** * Create user table in cassandra DB */ public void createTable() { final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"; session.execute(query); LOGGER.info("Created table 'user'"); } }Suchen Sie den Ordner
src\main\java\com\azure\cosmosdb\cassandra, und erstellen Sie einen neuen Unterordner namensexamples.Erstellen Sie die Java-Klasse
UserProfile. Diese Klasse enthält die Hauptmethode, die die zuvor definierten MethodencreateKeyspaceundcreateTableaufruft.package com.azure.cosmosdb.cassandra.examples; import java.io.IOException; import com.azure.cosmosdb.cassandra.repository.UserRepository; import com.azure.cosmosdb.cassandra.util.CassandraUtils; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Example class which will demonstrate following operations on Cassandra Database on CosmosDB * - Create Keyspace * - Create Table * - Insert Rows * - Select all data from a table * - Select a row from a table */ public class UserProfile { private static final Logger LOGGER = LoggerFactory.getLogger(UserProfile.class); public static void main(String[] s) throws Exception { CassandraUtils utils = new CassandraUtils(); Session cassandraSession = utils.getSession(); try { UserRepository repository = new UserRepository(cassandraSession); //Create keyspace in cassandra database repository.createKeyspace(); //Create table in cassandra database repository.createTable(); } finally { utils.close(); LOGGER.info("Please delete your table after verifying the presence of the data in portal or from CQL"); } } }
Ausführen der App
Öffnen Sie eine Eingabeaufforderung oder ein Terminalfenster. Fügen Sie folgenden Codeblock ein.
Dieser Code ändert das Verzeichnis (
cd) in den Ordnerpfad, in dem Sie das Projekt erstellt haben. Anschließend führt er den Befehlmvn clean installzum Generieren der Dateicosmosdb-cassandra-examples.jarim Zielordner aus. Abschließend führt er die Java-Anwendung aus.cd cassandra-demo mvn clean install java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfileIm Terminalfenster werden Benachrichtigungen angezeigt, dass der Keyspace und die Tabelle erstellt wurden.
Öffnen Sie im Azure-Portal den Daten-Explorer , um zu bestätigen, dass die Schlüsseltasten und die Tabelle erstellt wurden.
Nächster Schritt
In diesem Lernprogramm haben Sie gelernt, wie Sie eine API für Cassandra-Konten in Azure Cosmos DB, einer Datenbank und einer Tabelle mithilfe einer Java-Anwendung erstellen. Sie können jetzt mit dem nächsten Artikel fortfahren: