Руководство по Создание учетной записи API Cassandra в Azure Cosmos DB с помощью приложения Java для хранения данных пар "ключ — значение"Tutorial: Create a Cassandra API account in Azure Cosmos DB by using a Java application to store key/value data

Как у разработчика у вас должно быть приложение, использующее пары "ключ-значение".As a developer, you might have applications that use key/value pairs. Можно использовать учетную запись API Cassandra в Azure Cosmos DB для хранения данных пар "ключ — значение".You can use a Cassandra API account in Azure Cosmos DB to store the key/value data. В этом руководстве описывается, как использовать приложение Java для создания учетной записи API Cassandra в Azure Cosmos DB, добавить базу данных (также называемую пространством ключей) и добавить таблицу.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. Приложение Java использует драйвер Java, чтобы создать базу данных пользователя, которая содержит такие сведения, как идентификатор пользователя, имя пользователя и город пользователя.The Java application uses the Java driver to create a user database that contains details such as user ID, user name, and user city.

В рамках этого руководства рассматриваются следующие задачи:This tutorial covers the following tasks:

  • Создание учетной записи базы данных CassandraCreate a Cassandra database account
  • Получение строки подключения к учетной записиGet the account connection string
  • Создание проекта Maven и зависимостейCreate a Maven project and dependencies
  • Добавление базы данных и таблицыAdd a database and a table
  • Запустите приложениеRun the app

Предварительные требованияPrerequisites

Создание учетной записи базы данныхCreate a database account

  1. Войдите на портал Azure.Sign in to the Azure portal.

  2. Последовательно выберите Создать ресурс > Базы данных > Azure Cosmos DB.Select Create a resource > Databases > Azure Cosmos DB.

  3. На панели Новая учетная запись введите параметры для новой учетной записи Azure Cosmos.In the New account pane, enter the settings for the new Azure Cosmos account.

    ПараметрSetting Рекомендуемое значениеSuggested value ОписаниеDescription
    IDID Введите уникальное имя.Enter a unique name Введите уникальное имя для идентификации этой учетной записи Azure Cosmos.Enter a unique name to identify this Azure Cosmos account.

    Так как элемент cassandra.cosmosdb.azure.com добавляется к указанному идентификатору для создания точки контакта, используйте уникальный, но узнаваемый идентификатор.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 API определяет тип учетной записи, которую нужно создать.The API determines the type of account to create.
    Выберите Cassandra, так как в этой статье вы создадите базу данных с широкими столбцами, к которой можно отправлять запросы с помощью синтаксиса языка запросов Cassandra (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.
    ПодпискаSubscription Ваша подпискаYour subscription Выберите подписку Azure, которую планируете использовать для этой учетной записи Azure Cosmos.Select Azure subscription that you want to use for this Azure Cosmos account.
    Группа ресурсовResource Group Введите имя.Enter a name Выберите Создать и введите новое имя группы ресурсов для учетной записи.Select Create New, and then enter a new resource-group name for your account. Для удобства можно использовать то же имя, которое присвоено идентификатору.For simplicity, you can use the same name as your ID.
    РасположениеLocation Выберите ближайший к пользователям регионSelect the region closest to your users Выберите географическое расположение, в котором будет размещена учетная запись Azure Cosmos.Select the geographic location in which to host your Azure Cosmos account. Используйте ближайшее к пользователям расположение, чтобы предоставить им максимально быстрый доступ к данным.Use the location that's closest to your users, to give them the fastest access to the data.

    Создание учетной записи с помощью портала

  4. Нажмите кнопку создания.Select Create.
    Создание учетной записи займет несколько минут.The account creation takes a few minutes. После создания ресурса вы увидите уведомление об успешном развертывании в правой части портала.After the resource is created, you can see the Deployment succeeded notification on the right side of the portal.

Получение сведений о подключении учетной записиGet the connection details of your account

Получите сведения о строке подключения с портала Azure и скопируйте их в файл конфигурации Java.Get the connection string information from the Azure portal, and copy it into the Java configuration file. Строка подключения обеспечивает обмен данными между вашим приложением и размещенной базой данных.The connection string enables your app to communicate with your hosted database.

  1. С портала Azure перейдите в учетную запись Azure Cosmos.From the Azure portal, go to your Azure Cosmos account.

  2. Откройте панель Строка подключения.Open the Connection String pane.

  3. Скопируйте значения CONTACT POINT, PORT, USERNAME и PRIMARY PASSWORD, которые пригодятся вам на следующих этапах.Copy the CONTACT POINT, PORT, USERNAME, and PRIMARY PASSWORD values to use in the next steps.

Создание проекта и зависимостейCreate the project and the dependencies

Пример проекта Java, используемый в этой статье, размещен на GitHub.The Java sample project that you use in this article is hosted in GitHub. Можно выполнять действия, описанные в этом документе, или загрузить пример из репозитория 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.

После загрузки файлов обновите строку подключения в файле java-examples\src\main\resources\config.properties и запустите его.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> 

Чтобы создать образец с нуля, сделайте следующее:Use the following steps to build the sample from scratch:

  1. Из терминала или командной строки создайте новый проект Maven с именем 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. Найдите папку cassandra-demo.Locate the cassandra-demo folder. Откройте в текстовом редакторе созданный файл pom.xml.Using a text editor, open the pom.xml file that was generated.

    Добавьте зависимости Cassandra и создайте подключаемые модули, необходимые в проекте, как показано в файле pom.xml.Add the Cassandra dependencies and build plugins required by your project, as shown in the pom.xml file.

  3. В папке cassandra-demo\src\main создайте папку с именем resources.Under the cassandra-demo\src\main folder, create a new folder named resources. В папке ресурсов добавьте файлы config.properties и log4j.properties:Under the resources folder, add the config.properties and log4j.properties files:

    • Файл config.properties хранит значения конечной точки подключения и ключа учетной записи API Cassandra.The config.properties file stores the connection endpoint and key values of the Cassandra API account.

    • Файл log4j.properties определяет уровень ведения журнала, необходимый для взаимодействия с API Cassandra.The log4j.properties file defines the level of logging required for interacting with the Cassandra API.

  4. Перейдите в папку src/main/java/com/azure/cosmosdb/cassandra/.Browse to the src/main/java/com/azure/cosmosdb/cassandra/ folder. В папке cassandra создайте вторую папку с именем utils.Within the cassandra folder, create another folder named utils. Новая папка хранит служебные классы, необходимые для подключения к учетной записи API Cassandra.The new folder stores the utility classes required to connect to the Cassandra API account.

    Добавьте класс CassandraUtils для создания кластера и открытия и закрытия сеансов Cassandra.Add the CassandraUtils class to create the cluster and to open and close Cassandra sessions. Кластер подключается к учетной записи API Cassandra в Azure Cosmos DB и возвращает сеанс для доступа.The cluster connects to the Cassandra API account in Azure Cosmos DB and returns a session to access. Используйте класс Configurations для чтения строки подключения из файла config.properties.Use the Configurations class to read connection string information from the config.properties file.

  5. Пример Java создает базу данных со сведениями о пользователе, такими как имя пользователя, идентификатор пользователя и город пользователя.The Java sample creates a database with user information such as user name, user ID, and user city. Необходимо определить методы get и set для доступа к сведениям о пользователе в основной функции.You need to define get and set methods to access user details in the main function.

    Создайте класс User.java в папке src/main/java/com/azure/cosmosdb/cassandra/ с методами get и set.Create a User.java class under the src/main/java/com/azure/cosmosdb/cassandra/ folder with get and set methods.

Добавление базы данных и таблицыAdd a database and a table

В этом разделе описывается добавление базы данных (пространства ключей) и таблицы с помощью CQL.This section describes how to add a database (keyspace) and a table, by using CQL.

  1. В папке src\main\java\com\azure\cosmosdb\cassandra создайте папку с именем repository.Under the src\main\java\com\azure\cosmosdb\cassandra folder, create a new folder named repository.

  2. Создайте класс Java UserRepository и добавьте в него следующий код: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. Найдите папку src\main\java\com\azure\cosmosdb\cassandra и создайте новую вложенную папку с именем examples.Locate the src\main\java\com\azure\cosmosdb\cassandra folder, and create a new subfolder named examples.

  4. Создайте класс Java UserProfile.Create the UserProfile Java class. Этот класс содержит основной метод, который вызывает методы createKeyspace и 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"); 
            } 
        } 
    } 
    

Запустите приложениеRun the app

  1. Откройте командную строку или окно терминала.Open a command prompt or terminal window. Вставьте следующий блок кода.Paste the following code block.

    Этот код изменяет каталог (cd) для пути к папке, где создан проект.This code changes the directory (cd) to the folder path where you created the project. Затем он выполняет команду mvn clean install, чтобы создать файл cosmosdb-cassandra-examples.jar в целевой папке.Then, it runs the mvn clean install command to generate the cosmosdb-cassandra-examples.jar file within the target folder. Наконец, он запускает приложение 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 
    

    Окно терминала отображает уведомления о создании пространства ключей и таблицы.The terminal window displays notifications that the keyspace and table are created.

  2. Теперь на портале Azure откройте обозреватель данных и убедитесь, что пространство ключей и таблица созданы.Now, in the Azure portal, open Data Explorer to confirm that the keyspace and table were created.

Дальнейшие действияNext steps

В этом руководстве вы узнали, как создать учетную запись API Cassandra в Azure Cosmos DB, базу данных и таблицу с помощью приложения 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. Теперь вы можете перейти к следующей статье:You can now proceed to the next article: