다음을 통해 공유


자습서: Azure Cosmos DB의 Cassandra 계정에 대한 API의 데이터 쿼리

적용 대상: 카산드라

개발자는 키/값 쌍을 사용하는 애플리케이션을 가질 수도 있습니다. Azure Cosmos DB의 Cassandra 계정에 대한 API를 사용하여 키/값 데이터를 저장하고 쿼리할 수 있습니다. 이 자습서에서는 Java 애플리케이션을 사용하여 Azure Cosmos DB의 Cassandra 계정에 대한 API에서 사용자 데이터를 쿼리하는 방법을 보여 줍니다. Java 애플리케이션은 Java 드라이버를 사용하고 사용자 ID, 사용자 이름 및 사용자 도시와 같은 사용자 데이터를 쿼리합니다.

이 자습서에서 다루는 작업은 다음과 같습니다.

  • Cassandra 테이블에서 데이터를 쿼리합니다.
  • 앱을 실행하세요.

필수 조건

  • Azure 구독이 없는 경우, 시작하기 전에 무료 계정을 만드십시오.
  • 이 문서는 다중 파트 자습서에 속합니다. 시작하기 전에 이전 단계를 완료하여 Cassandra 계정, 키 영역 및 테이블에 대한 API를 만들어야 합니다. 또한 샘플 데이터를 테이블에 로드합니다.

쿼리 데이터

Cassandra 계정에 대한 API의 데이터를 쿼리하려면 다음 단계를 수행합니다.

  1. UserRepository.java 폴더에서 src\main\java\com\azure\cosmosdb\cassandra 파일을 엽니다. 다음 코드 블록을 추가합니다. 이 코드는 다음 세 가지 방법을 제공합니다.

    • 데이터베이스의 모든 사용자를 쿼리합니다.
    • 사용자 ID로 필터링된 특정 사용자를 쿼리합니다.
    • 테이블을 삭제합니다.
    /**
    * Select all rows from user table
    */
    public void selectAllUsers() {
    
      final String query = "SELECT * FROM uprofile.user";
      List<Row> rows = session.execute(query).all();
    
      for (Row row : rows) {
         LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));
      }
    }
    
    /**
    * Select a row from user table
    *
    * @param id user_id
    */
    public void selectUser(int id) {
       final String query = "SELECT * FROM uprofile.user where user_id = 3";
       Row row = session.execute(query).one();
    
       LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));
    }
    
    /**
    * Delete user table.
    */
    public void deleteTable() {
      final String query = "DROP TABLE IF EXISTS uprofile.user";
      session.execute(query);
    }
    
  2. UserProfile.java 폴더에서 src\main\java\com\azure\cosmosdb\cassandra 파일을 엽니다. 이 클래스에는 앞에서 정의한 데이터 메서드를 createKeyspace 호출하고 createTable 삽입하는 기본 메서드가 포함되어 있습니다. 모든 사용자 또는 특정 사용자를 쿼리하는 다음 코드를 추가합니다.

    LOGGER.info("Select all users");
    repository.selectAllUsers();
    
    LOGGER.info("Select a user by id (3)");
    repository.selectUser(3);
    
    LOGGER.info("Delete the users profile table");
    repository.deleteTable();
    

Java 앱 실행

  1. 명령 프롬프트 또는 터미널 창을 엽니다. 다음 코드 블록을 붙여넣습니다.

    이 코드는 프로젝트를 만든 폴더 경로로 디렉터리를 변경(cd)합니다. 그런 다음, mvn clean install 명령을 실행하여 대상 폴더 내에 cosmosdb-cassandra-examples.jar 파일을 생성합니다. 마지막으로 Java 애플리케이션을 실행합니다.

    cd "cassandra-demo"
    
    mvn clean install
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
    
  2. 이제 Azure Portal에서 데이터 탐색기를 열고 사용자 테이블이 삭제되어 있는지 확인합니다.

리소스 정리

리소스가 더 이상 필요하지 않은 경우 리소스 그룹, Azure Cosmos DB 계정 및 모든 관련 리소스를 삭제할 수 있습니다. 삭제하려면 가상 머신의 리소스 그룹을 선택하고, 삭제를 선택한 다음, 삭제할 리소스 그룹의 이름을 확인합니다.

다음 단계

이 자습서에서는 Azure Cosmos DB의 Cassandra 계정에 대한 API에서 데이터를 쿼리하는 방법을 알아보았습니다. 이제 다음 문서로 진행할 수 있습니다.