Samouczek: Tworzenie konta interfejsu API Cassandra w usłudze Azure Cosmos DB przy użyciu aplikacji języka Java w celu przechowywania danych kluczy/wartościTutorial: Create a Cassandra API account in Azure Cosmos DB by using a Java application to store key/value data

Jako deweloper być może masz aplikacje, które używają par klucz-wartość.As a developer, you might have applications that use key/value pairs. Możesz przechowywać dane kluczy/wartości przy użyciu konta interfejsu API Cassandra w usłudze Azure Cosmos DB.You can use a Cassandra API account in Azure Cosmos DB to store the key/value data. W tym samouczku przedstawiono sposób użycia aplikacji języka Java do tworzenia konta interfejsu API Cassandra w usłudze Azure Cosmos DB, dodawania bazy danych (nazywanej także przestrzenią kluczy) oraz dodawania tabeli.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. Aplikacja języka Java używa sterownika Java do tworzenia bazy danych użytkowników, która zawiera szczegółowe informacje, takie jak identyfikator użytkownika, nazwa użytkownika i miasto użytkownika.The Java application uses the Java driver to create a user database that contains details such as user ID, user name, and user city.

Ten samouczek obejmuje następujące zadania:This tutorial covers the following tasks:

  • Tworzenie konta bazy danych CassandraCreate a Cassandra database account
  • Pobieranie parametrów połączenia kontaGet the account connection string
  • Tworzenie projektu Maven i zależnościCreate a Maven project and dependencies
  • Dodawanie bazy danych i tabeliAdd a database and a table
  • Uruchamianie aplikacjiRun the app

Wymagania wstępnePrerequisites

Tworzenie konta bazy danychCreate a database account

  1. Zaloguj się w witrynie Azure Portal.Sign in to the Azure portal.

  2. Wybierz kolejno pozycje Utwórz zasób > Bazy danych > Azure Cosmos DB.Select Create a resource > Databases > Azure Cosmos DB.

  3. W okienku Nowe konto podaj ustawienia nowego konta usługi Azure Cosmos.In the New account pane, enter the settings for the new Azure Cosmos account.

    UstawienieSetting Sugerowana wartośćSuggested value OpisDescription
    IDID Wprowadź unikatową nazwęEnter a unique name Wprowadź unikatową nazwę do identyfikacji tego konta usługi Azure Cosmos.Enter a unique name to identify this Azure Cosmos account.

    Ponieważ cassandra.cosmosdb.azure.com jest dołączany do podania identyfikatora w celu utworzenia punktu kontaktu, należy użyć unikatowego, ale zidentyfikowanego identyfikatora.Because cassandra.cosmosdb.azure.com is appended to the ID that you provide to create your contact point, use a unique but identifiable ID.
    interfejs APIAPI CassandraCassandra Interfejs API określa typ konta do utworzenia.The API determines the type of account to create.
    Wybierz pozycję Cassandra, ponieważ w tym artykule utworzysz bazę danych z szeroką kolumną, którą można zbadać przy użyciu składni Cassandra Query Language (CQL).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 Twoja subskrypcjaYour subscription Wybierz subskrypcję platformy Azure, która ma być używana dla tego konta usługi Azure Cosmos.Select Azure subscription that you want to use for this Azure Cosmos account.
    Grupa zasobówResource Group Wprowadź nazwęEnter a name Wybierz pozycję Utwórz nową, a następnie wprowadź nazwę nowej grupy zasobów dla swojego konta.Select Create New, and then enter a new resource-group name for your account. Dla uproszczenia można użyć takiej samej nazwy jak identyfikator.For simplicity, you can use the same name as your ID.
    LocationLocation Wybierz region najbliżej Twoich użytkownikówSelect the region closest to your users Wybierz lokalizację geograficzną, w której będzie hostowane Twoje konto usługi Azure Cosmos.Select the geographic location in which to host your Azure Cosmos account. Użyj lokalizacji znajdującej się najbliżej Twoich użytkowników, aby zapewnić im najszybszy dostęp do danych.Use the location that's closest to your users, to give them the fastest access to the data.

    Tworzenie konta za pomocą portalu

  4. Wybierz pozycję Utwórz.Select Create.
    Tworzenie konta potrwa kilka minut.The account creation takes a few minutes. Po utworzeniu zasobu możesz zobaczyć powiadomienie Wdrażanie zakończyło się pomyślnie z prawej strony portalu.After the resource is created, you can see the Deployment succeeded notification on the right side of the portal.

Pobieranie szczegółów połączenia kontaGet the connection details of your account

Pobierz informacje o parametrach połączenia z witryny Azure Portal i skopiuj je do pliku konfiguracji środowiska Java.Get the connection string information from the Azure portal, and copy it into the Java configuration file. Parametry połączenia umożliwiają aplikacji komunikowanie się z hostowaną bazą danych.The connection string enables your app to communicate with your hosted database.

  1. W Azure Portalprzejdź do swojego konta usługi Azure Cosmos.From the Azure portal, go to your Azure Cosmos account.

  2. Otwórz okienko parametrów połączenia .Open the Connection String pane.

  3. Skopiuj wartości PUNKT KONTAKTOWY, PORT, NAZWA UŻYTKOWNIKA i HASŁO PODSTAWOWE do użycia w następnych krokach.Copy the CONTACT POINT, PORT, USERNAME, and PRIMARY PASSWORD values to use in the next steps.

Tworzenie projektu i zależnościCreate the project and the dependencies

Przykładowy projekt języka Java używany w tym artykule jest hostowany w witrynie GitHub.The Java sample project that you use in this article is hosted in GitHub. Możesz wykonać kroki opisane w tym dokumencie lub pobrać przykład z repozytorium azure-cosmos-db-cassandra-java-getting-started.You can run the steps in this doc or download the sample from the azure-cosmos-db-cassandra-java-getting-started repository.

Po pobraniu plików zaktualizuj informacje o parametrach połączenia w pliku java-examples\src\main\resources\config.properties i uruchom go.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> 

Aby utworzyć przykład od podstaw, wykonaj następujące kroki:Use the following steps to build the sample from scratch:

  1. W terminalu lub wierszu polecenia utwórz nowy projekt Maven o nazwie 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. Znajdź folder cassandra-demo.Locate the cassandra-demo folder. Za pomocą edytora tekstów otwórz wygenerowany plik pom.xml.Using a text editor, open the pom.xml file that was generated.

    Dodaj zależności bazy danych Cassandra i skompiluj wtyczki wymagane przez projekt, jak pokazano w pliku pom.xml.Add the Cassandra dependencies and build plugins required by your project, as shown in the pom.xml file.

  3. W folderze cassandra-demo\src\main utwórz nowy folder o nazwie resources.Under the cassandra-demo\src\main folder, create a new folder named resources. W folderze zasobów dodaj pliki config.properties i log4j.properties:Under the resources folder, add the config.properties and log4j.properties files:

    • W pliku config.properties są przechowywane wartości kluczy i punktu końcowego połączenia konta interfejsu API Cassandra.The config.properties file stores the connection endpoint and key values of the Cassandra API account.

    • Plik log4j.properties definiuje poziom rejestrowania wymagany do interakcji z interfejsem API Cassandra.The log4j.properties file defines the level of logging required for interacting with the Cassandra API.

  4. Przejdź do folderu src/main/java/com/azure/cosmosdb/cassandra/.Browse to the src/main/java/com/azure/cosmosdb/cassandra/ folder. W folderze cassandra utwórz inny folder o nazwie utils.Within the cassandra folder, create another folder named utils. W nowym folderze są przechowywane klasy narzędzi wymagane do połączenia z kontem interfejsu API Cassandra.The new folder stores the utility classes required to connect to the Cassandra API account.

    Dodaj klasę CassandraUtils w celu utworzenia klastra oraz otwarcia i zamknięcia sesji bazy danych Cassandra.Add the CassandraUtils class to create the cluster and to open and close Cassandra sessions. Klaster nawiązuje połączenie z kontem interfejs API Cassandra w programie Azure Cosmos DB i zwraca sesję dostępu.The cluster connects to the Cassandra API account in Azure Cosmos DB and returns a session to access. Użyj klasy Configurations w celu odczytania informacji o parametrach połączenia z pliku config.properties.Use the Configurations class to read connection string information from the config.properties file.

  5. Przykład języka Java tworzy bazę danych z informacjami o użytkownikach, takimi jak nazwa użytkownika, identyfikator użytkownika i miasto użytkownika.The Java sample creates a database with user information such as user name, user ID, and user city. Musisz zdefiniować metody get i set, aby uzyskiwać dostęp do szczegółów użytkowników w funkcji głównej.You need to define get and set methods to access user details in the main function.

    Utwórz klasę User.java w folderze src/main/java/com/azure/cosmosdb/cassandra/ przy użyciu metod get i set.Create a User.java class under the src/main/java/com/azure/cosmosdb/cassandra/ folder with get and set methods.

Dodawanie bazy danych i tabeliAdd a database and a table

Ta sekcja zawiera opis sposobu dodawania bazy danych (przestrzeni kluczy) oraz tabeli za pomocą języka CQL.This section describes how to add a database (keyspace) and a table, by using CQL.

  1. W folderze src\main\java\com\azure\cosmosdb\cassandra utwórz nowy folder o nazwie repository.Under the src\main\java\com\azure\cosmosdb\cassandra folder, create a new folder named repository.

  2. Utwórz klasę języka Java UserRepository i dodaj do niej następujący kod: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. Znajdź folder src\main\java\com\azure\cosmosdb\cassandra i utwórz nowy podfolder o nazwie examples.Locate the src\main\java\com\azure\cosmosdb\cassandra folder, and create a new subfolder named examples.

  4. Utwórz klasę języka Java UserProfile.Create the UserProfile Java class. Ta klasa zawiera metodę główną, która wywołuje zdefiniowane wcześniej metody createKeyspace i createTable: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"); 
            } 
        } 
    } 
    

Uruchamianie aplikacjiRun the app

  1. Otwórz wiersz polecenia lub okno terminala.Open a command prompt or terminal window. Wklej poniższy blok kodu.Paste the following code block.

    Ten kod zmienia katalog (polecenie cd) na ścieżkę folderu, w której utworzono projekt.This code changes the directory (cd) to the folder path where you created the project. Następnie jest uruchamiane polecenie mvn clean install w celu wygenerowania pliku cosmosdb-cassandra-examples.jar w folderze docelowym.Then, it runs the mvn clean install command to generate the cosmosdb-cassandra-examples.jar file within the target folder. Na koniec kod uruchamia aplikację języka Java.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 
    

    W oknie terminalu zostaną wyświetlone powiadomienia o utworzeniu przestrzeni kluczy i tabeli.The terminal window displays notifications that the keyspace and table are created.

  2. Teraz w witrynie Azure Portal otwórz Eksplorator danych, aby potwierdzić utworzenie przestrzeni kluczy i tabeli.Now, in the Azure portal, open Data Explorer to confirm that the keyspace and table were created.

Następne krokiNext steps

W tym samouczku przedstawiono sposób tworzenia konta, bazy danych i tabeli interfejsu API Cassandra w usłudze Azure Cosmos DB przy użyciu aplikacji języka Java.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. Teraz możesz przejść do następnego artykułu:You can now proceed to the next article: