자습서: 키/값 데이터를 저장하는 Java 애플리케이션을 사용하여 Azure Cosmos DB의 Cassandra API 계정 만들기Tutorial: Create a Cassandra API account in Azure Cosmos DB by using a Java application to store key/value data

적용 대상: Cassandra API

개발자는 키/값 쌍을 사용하는 애플리케이션을 가질 수도 있습니다.As a developer, you might have applications that use key/value pairs. Azure Cosmos DB의 Cassandra API 계정을 사용하여 키/값 데이터를 저장할 수 있습니다.You can use a Cassandra API account in Azure Cosmos DB to store the key/value data. 이 자습서에서는 Java 애플리케이션을 사용하여 Azure Cosmos DB의 Cassandra API 계정을 만들고, 데이터베이스(키스페이스라고도 함)를 추가하고, 테이블을 추가하는 방법에 대해 설명합니다.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 드라이버를 사용하여 사용자 ID, 사용자 이름 및 사용자 도시와 같은 세부 정보를 포함하는 사용자 데이터베이스를 만듭니다.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:

  • Cassandra 데이터베이스 계정 만들기Create 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 Portal에 로그인합니다.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 DescriptionDescription
    IDID 고유한 이름을 입력합니다.Enter a unique name 이 Azure Cosmos 계정을 식별하는 고유한 이름을 입력합니다.Enter a unique name to identify this Azure Cosmos account.

    접점을 만들기 위해 제공하는 ID에 cassandra.cosmosdb.azure.com이 추가되므로 식별할 수 있는 고유한 ID를 사용해야 합니다.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.
    이 문서에서는 CQL(Cassandra 쿼리 언어) 구문을 사용하여 쿼리할 수 있는 넓은 열 데이터베이스를 만들므로 Cassandra 를 선택합니다.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 사용자의 구독Your subscription 이 Azure Cosmos 계정에 사용하려는 Azure 구독을 선택합니다.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. 간단히 하기 위해 ID와 동일한 이름을 사용할 수 있습니다.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 Portal에서 연결 문자열 정보를 가져오고, 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 Portal에서 Azure Cosmos 계정으로 이동합니다.From the Azure portal, go to your Azure Cosmos account.

  2. 연결 문자열 창을 엽니다.Open the Connection String pane.

  3. 다음 단계에서 사용할 CONTACT POINT , PORT , USERNAMEPRIMARY 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-geting-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. 터미널 또는 명령 프롬프트에서 Cassandra-demo라는 새 Maven 프로젝트를 만듭니다.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.

    pom.xml 파일에 표시된 대로 Cassandra 종속성을 추가하고 프로젝트에 필요한 플러그 인을 빌드합니다.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 파일은 Cassandra API 계정의 연결 엔드포인트 및 키 값을 저장합니다.The config.properties file stores the connection endpoint and key values of the Cassandra API account.

    • log4j.properties 파일은 Cassandra API와 상호 작용하는 데 필요한 로깅 수준을 정의합니다.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. 새 폴더는 Cassandra API 계정에 연결하는 데 필요한 유틸리티 클래스를 저장합니다.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. 클러스터에서 Azure Cosmos DB의 Cassandra API 계정에 연결하고 액세스할 세션을 반환합니다.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 샘플은 사용자 정보(예: 사용자 이름, 사용자 ID 및 사용자 도시)가 있는 데이터베이스를 만듭니다.The Java sample creates a database with user information such as user name, user ID, and user city. main 함수의 사용자 세부 정보에 액세스하려면 get 및 set 메서드를 정의해야 합니다.You need to define get and set methods to access user details in the main function.

    get 및 set 메서드를 사용하여 src/main/java/com/azure/cosmosdb/cassandra/ 폴더 아래에 User.java 클래스를 만듭니다.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. UserRepository Java 클래스를 만들고 여기에 다음 코드를 추가합니다.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. UserProfile Java 클래스를 만듭니다.Create the UserProfile Java class. 이 클래스에는 이전에 정의한 createKeyspace 및 createTable 메서드를 호출하는 main 메서드가 들어 있습니다.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 Portal에서 데이터 탐색기 를 열어 키스페이스 및 테이블이 생성되었는지 확인합니다.Now, in the Azure portal, open Data Explorer to confirm that the keyspace and table were created.

다음 단계Next steps

이 자습서에서는 Java 애플리케이션을 사용하여 Azure Cosmos DB의 Cassandra API 계정, 데이터베이스 및 테이블을 만드는 방법을 알아보았습니다.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: