チュートリアル: Azure Cosmos DB の Cassandra 用 API アカウントに対するデータのクエリを実行する

適用対象: Cassandra

開発者は、キー/値ペアを使用するアプリケーションを持っていることがあります。 Azure Cosmos DB の Cassandra 用 API アカウントを使って、キー/値データを格納してクエリを実行できます。 このチュートリアルでは、Java アプリケーションを使って、Azure Cosmos DB の Cassandra 用 API アカウントに対するユーザー データのクエリを実行する方法について説明します。 この Java アプリケーションでは、Java ドライバーを使用して、ユーザー ID、ユーザー名、ユーザー所在地などのユーザー データのクエリを実行します。

このチュートリアルに含まれるタスクは次のとおりです。

  • Cassandra テーブルのデータのクエリを実行する
  • アプリを実行する

Azure サブスクリプションがない場合は、開始する前に無料アカウントを作成してください。

前提条件

  • この記事では、マルチパートのチュートリアルの一部です。 開始する前に、必ず前の手順を実行して Cassandra 用 API アカウント、キースペース、テーブルを作成し、サンプル データをテーブルに読み込んでください。

クエリ データ

以下の手順を使って、Cassandra 用 API アカウントのデータに対するクエリを実行します。

  1. src\main\java\com\azure\cosmosdb\cassandra フォルダーにある UserRepository.java ファイルを開きます。 次のコード ブロックを末尾に追加します。 このコードは、次の 3 つの方法を提供します。

    • データベース内のすべてのユーザーを照会する
    • ユーザー 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. src\main\java\com\azure\cosmosdb\cassandra フォルダーにある UserProfile.java ファイルを開きます。 このクラスには、createKeyspace および createTable (以前に定義したデータの挿入メソッド) を呼び出す main メソッドが含まれています。 すべてのユーザーまたは特定のユーザーに対してクエリを実行する次のコードを末尾に追加します。

    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 アカウントに対するデータのクエリを実行する方法を学習しました。 次の記事に進むことができます。