Tutorial: Erstellen eines Cassandra-API-Kontos in Azure Cosmos DB durch die Verwendung einer Java-Anwendung zum Speichern von Schlüssel/Wert-DatenTutorial: Create a Cassandra API account in Azure Cosmos DB by using a Java application to store key/value data

Als Entwickler besitzen Sie möglicherweise Anwendungen, die Schlüssel/Wert-Paare verwenden.As a developer, you might have applications that use key/value pairs. Sie können ein Cassandra-API-Konto in Azure Cosmos DB zum Speichern der Schlüssel/Wert-Daten verwenden.You can use a Cassandra API account in Azure Cosmos DB to store the key/value data. In diesem Tutorial wird beschrieben, wie mithilfe einer Java-Anwendung ein Cassandra-API-Konto in Azure Cosmos DB erstellt und eine Datenbank (auch als „Keyspace“ bezeichnet) sowie eine Tabelle hinzugefügt wird.This tutorial describes how to use a Java application to create a Cassandra API account in Azure Cosmos DB, add a database (also called a keyspace), and add a table. Die Java-Anwendung verwendet den Java-Treiber, um eine Benutzerdatenbank zu erstellen, die Details wie Benutzer-ID, Benutzernamen und Stadt des Benutzers enthält.The Java application uses the Java driver to create a user database that contains details such as user ID, user name, and user city.

Dieses Tutorial enthält die folgenden Aufgaben:This tutorial covers the following tasks:

  • Erstellen eines Cassandra-DatenbankkontosCreate a Cassandra database account
  • Abrufen der KontoverbindungszeichenfolgeGet the account connection string
  • Erstellen eines Maven-Projekts und der AbhängigkeitenCreate a Maven project and dependencies
  • Hinzufügen einer Datenbank und TabelleAdd a database and a table
  • Ausführen der AppRun the app

VoraussetzungenPrerequisites

Erstellen eines DatenbankkontosCreate a database account

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.

  2. Wählen Sie Ressourcen erstellen > Datenbanken > Azure Cosmos DB aus.Select Create a resource > Databases > Azure Cosmos DB.

  3. Geben Sie im Bereich Neues Konto die Einstellungen für das neue Azure Cosmos-Konto ein.In the New account pane, enter the settings for the new Azure Cosmos account.

    EinstellungSetting Vorgeschlagener WertSuggested value BESCHREIBUNGDescription
    idID Geben Sie einen eindeutigen Namen ein.Enter a unique name Geben Sie einen eindeutigen Namen ein, der das Azure Cosmos-Konto identifiziert.Enter a unique name to identify this Azure Cosmos account.

    Da cassandra.cosmosdb.azure.com an die ID angefügt wird, die Sie bereitstellen, um Ihren Kontaktpunkt zu erstellen, sollten Sie eine eindeutige, aber identifizierbare ID verwenden.Because cassandra.cosmosdb.azure.com is appended to the ID that you provide to create your contact point, use a unique but identifiable ID.
    APIAPI CassandraCassandra Die API bestimmt den Typ des zu erstellenden Kontos.The API determines the type of account to create.
    Wählen Sie Cassandra aus, da Sie in diesem Artikel eine Datenbank mit breiten Spalten erstellen werden, die mit der CQL-Syntax (Cassandra Query Language) abgefragt werden kann.Select Cassandra, because in this article you will create a wide-column database that can be queried by using Cassandra Query Language (CQL) syntax.
    SubscriptionSubscription Ihr AbonnementYour subscription Wählen Sie das Azure-Abonnement, das Sie für dieses Azure Cosmos-Konto verwenden möchten, aus.Select Azure subscription that you want to use for this Azure Cosmos account.
    RessourcengruppeResource Group Geben Sie einen Namen ein.Enter a name Wählen Sie Neu erstellen aus, und geben Sie dann einen neuen Ressourcengruppennamen für Ihr Konto ein.Select Create New, and then enter a new resource-group name for your account. Der Einfachheit halber können Sie denselben Namen wie bei Ihrer ID verwenden.For simplicity, you can use the same name as your ID.
    LocationLocation Wählen Sie die Region aus, die Ihren Benutzern am nächsten liegt.Select the region closest to your users Wählen Sie den geografischen Standort aus, an dem Ihr Azure Cosmos-Konto gehostet werden soll.Select the geographic location in which to host your Azure Cosmos account. Verwenden Sie einen Standort, der Ihren Benutzern am nächsten liegt, um ihnen einen schnellen Zugriff auf die Daten zu gewähren.Use the location that's closest to your users, to give them the fastest access to the data.

    Erstellen eines Kontos mit dem Portal

  4. Klicken Sie auf Erstellen.Select Create.
    Die Kontoerstellung dauert einige Minuten.The account creation takes a few minutes. Nachdem die Ressource erstellt wurde, können Sie auf der rechten Seite des Portals die Benachrichtigung Bereitstellung erfolgreich sehen.After the resource is created, you can see the Deployment succeeded notification on the right side of the portal.

Abrufen der Verbindungsdetails zu Ihrem KontoGet the connection details of your account

Rufen Sie die Informationen der Verbindungszeichenfolge über das Azure-Portal ab, und fügen Sie sie in die Java-Konfigurationsdatei ein.Get the connection string information from the Azure portal, and copy it into the Java configuration file. Die Angabe der Verbindungszeichenfolge ermöglicht Ihrer App die Kommunikation mit Ihrer gehosteten Datenbank.The connection string enables your app to communicate with your hosted database.

  1. Wechseln Sie vom Azure-Portal zu Ihrem Azure Cosmos-Konto.From the Azure portal, go to your Azure Cosmos account.

  2. Öffnen Sie den Bereich Verbindungszeichenfolge.Open the Connection String pane.

  3. Kopieren Sie die Werte von KONTAKTPUNKT, PORT, BENUTZERNAME, und PRIMÄRES KENNWORT. Diese werden Sie in den nächsten Schritten benötigen.Copy the CONTACT POINT, PORT, USERNAME, and PRIMARY PASSWORD values to use in the next steps.

Erstellen des Projekts und der AbhängigkeitenCreate the project and the dependencies

Das Java-Beispielprojekt, das Sie in diesem Artikel verwenden, wird in GitHub gehostet.The Java sample project that you use in this article is hosted in GitHub. Sie können die Schritte in diesem Dokument ausführen oder das Beispiel aus dem Repository azure-cosmos-db-cassandra-java-getting-started herunterladen.You can run the steps in this doc or download the sample from the azure-cosmos-db-cassandra-java-getting-started repository.

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.After you download the files, update the connection string information within the java-examples\src\main\resources\config.properties file and run it.

cassandra_host=<FILLME_with_CONTACT POINT> 
cassandra_port = 10350 
cassandra_username=<FILLME_with_USERNAME> 
cassandra_password=<FILLME_with_PRIMARY PASSWORD> 

Verwenden Sie die folgenden Schritte, um das Beispiel von Grund auf neu zu erstellen:Use the following steps to build the sample from scratch:

  1. Erstellen Sie über das Terminal oder die Eingabeaufforderung ein neues Maven-Projekt namens „Cassandra-demo“.From the terminal or command prompt, create a new Maven project called Cassandra-demo.

    mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
    
  2. Suchen Sie den Ordner cassandra-demo.Locate the cassandra-demo folder. Öffnen Sie in einem Text-Editor die generierte Datei pom.xml.Using a text editor, open the pom.xml file that was generated.

    Fügen Sie die Cassandra-Abhängigkeiten hinzu, und erstellen Sie die für Ihr Projekt erforderlichen Plug-Ins, die in der Datei pom.xml gezeigt werden.Add the Cassandra dependencies and build plugins required by your project, as shown in the pom.xml file.

  3. Erstellen Sie im Ordner cassandra-demo\src\main einen neuen Ordner namens resources.Under the cassandra-demo\src\main folder, create a new folder named resources. Fügen Sie im Ressourcenordner die Dateien „config.properties“ und „log4j.properties“ hinzu:Under the resources folder, add the config.properties and log4j.properties files:

    • Die Datei config.properties speichert den Verbindungsendpunkt und die Schlüsselwerte des Cassandra-API-Kontos.The config.properties file stores the connection endpoint and key values of the Cassandra API account.

    • Die Datei log4j.properties definiert die Ebene der Protokollierung, die für die Interaktion mit der Cassandra-API erforderlich ist.The log4j.properties file defines the level of logging required for interacting with the Cassandra API.

  4. Navigieren Sie zum Ordner src/main/java/com/azure/cosmosdb/cassandra/.Browse to the src/main/java/com/azure/cosmosdb/cassandra/ folder. Erstellen Sie im Cassandra-Ordner einen weiteren Ordner mit dem Namen utils.Within the cassandra folder, create another folder named utils. Der neue Ordner speichert die Hilfsprogrammklassen, die zum Herstellen einer Verbindung mit der Cassandra-API-Konto erforderlich sind.The new folder stores the utility classes required to connect to the Cassandra API account.

    Fügen Sie die Klasse CassandraUtils hinzu, um den Cluster zu erstellen und Cassandra-Sitzungen zu öffnen und zu schließen.Add the CassandraUtils class to create the cluster and to open and close Cassandra sessions. Der Cluster stellt eine Verbindung mit dem Cassandra-API-Konto in Azure Cosmos DB her und gibt eine Sitzung für den Zugriff zurück.The cluster connects to the Cassandra API account in Azure Cosmos DB and returns a session to access. Lesen Sie mithilfe der Klasse Configurations Informationen zur Verbindungszeichenfolge aus der Datei „config.properties“.Use the Configurations class to read connection string information from the config.properties file.

  5. Das Java-Beispiel erstellt eine Datenbank mit Benutzerinformationen wie Benutzernamen, Benutzer-ID und Stadt des Benutzers.The Java sample creates a database with user information such as user name, user ID, and user city. Sie müssen GET- und SET-Methoden definieren, um auf die Benutzerdetails in der main-Funktion zuzugreifen.You need to define get and set methods to access user details in the main function.

    Erstellen Sie eine User.java-Klasse im Ordner src/main/java/com/azure/cosmosdb/cassandra/ mit GET- und SET-Methoden.Create a User.java class under the src/main/java/com/azure/cosmosdb/cassandra/ folder with get and set methods.

Hinzufügen einer Datenbank und TabelleAdd a database and a table

In diesem Abschnitt wird beschrieben, wie Sie eine Datenbank (Keyspace) und eine Tabelle mit CQL hinzufügen.This section describes how to add a database (keyspace) and a table, by using CQL.

  1. Erstellen Sie im Ordner src\main\java\com\azure\cosmosdb\cassandra einen neuen Ordner namens repository.Under the src\main\java\com\azure\cosmosdb\cassandra folder, create a new folder named repository.

  2. Erstellen Sie die Java-Klasse UserRepository, und fügen Sie den folgenden Code hinzu:Create the UserRepository Java class and add the following code to it:

    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'"); 
        } 
    } 
    
  3. Suchen Sie den Ordner src\main\java\com\azure\cosmosdb\cassandra, und erstellen Sie einen neuen Unterordner namens examples.Locate the src\main\java\com\azure\cosmosdb\cassandra folder, and create a new subfolder named examples.

  4. Erstellen Sie die Java-Klasse UserProfile.Create the UserProfile Java class. Diese Klasse enthält die main-Methode, die die Methoden createKeyspace und createTable aufruft, die Sie zuvor definiert haben:This class contains the main method that calls the createKeyspace and createTable methods you defined earlier:

    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 AppRun the app

  1. Öffnen Sie eine Eingabeaufforderung oder ein Terminalfenster.Open a command prompt or terminal window. Fügen Sie folgenden Codeblock ein.Paste the following code block.

    Dieser Code ändert das Verzeichnis (cd) in den Ordnerpfad, in dem das Projekt erstellt wurde.This code changes the directory (cd) to the folder path where you created the project. Anschließend führt er den Befehl mvn clean install zum Generieren der Datei cosmosdb-cassandra-examples.jar im Zielordner aus.Then, it runs the mvn clean install command to generate the cosmosdb-cassandra-examples.jar file within the target folder. Abschließend führt er die Java-Anwendung aus.Finally, it runs the Java application.

    cd cassandra-demo
    
    mvn clean install 
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile 
    

    Im Terminalfenster werden Benachrichtigungen angezeigt, dass der Keyspace und die Tabelle erstellt wurden.The terminal window displays notifications that the keyspace and table are created.

  2. Öffnen Sie im Azure-Portal nun den Daten-Explorer, um sicherzustellen, dass der Keyspace und die Tabelle erstellt wurden.Now, in the Azure portal, open Data Explorer to confirm that the keyspace and table were created.

Nächste SchritteNext steps

In diesem Tutorial haben Sie erfahren, wie Sie ein Cassandra-API-Konto in Azure Cosmos DB, eine Datenbank und eine Tabelle mithilfe einer Java-Anwendung erstellen.In this tutorial, you've learned how to create a Cassandra API account in Azure Cosmos DB, a database, and a table by using a Java application. Sie können jetzt mit dem nächsten Artikel fortfahren:You can now proceed to the next article: