你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:从 Azure Cosmos DB 中的 API for Cassandra 帐户查询数据

适用对象: Cassandra

作为开发人员,你可能具有使用键/值对的应用程序。 可以使用 Azure Cosmos DB 中的 API for Cassandra 帐户来存储和查询键/值数据。 本教程介绍如何使用 Java 应用程序从 Azure Cosmos DB 中的 API for Cassandra 帐户查询用户数据。 Java 应用程序使用 Java 驱动程序并查询用户 ID、用户名和用户城市等用户数据。

本教程涵盖以下任务:

  • 从 Cassandra 表查询数据
  • 运行应用

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

先决条件

  • 本文是由多个部分组成的教程。 在开始之前,请务必完成前面的步骤以创建 API for Cassandra 帐户、密钥空间、表并将示例数据加载到表

查询数据

通过以下步骤从 API for Cassandra 帐户查询数据:

  1. 打开 src\main\java\com\azure\cosmosdb\cassandra 文件夹下的 UserRepository.java 文件。 追加以下代码块。 此代码提供三种方法:

    • 查询数据库中的所有用户
    • 查询按用户 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 的主方法。 现在追加查询所有用户或特定用户的以下代码:

    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 门户中,打开“数据资源管理器”并确认用户表已删除。

清理资源

不再需要资源组、Azure Cosmos DB 帐户和所有相关的资源时,可将其删除。 为此,请选择虚拟机的资源组,选择“删除”,然后确认要删除的资源组的名称。

后续步骤

本教程介绍了如何从 Azure Cosmos DB 中的 API for Cassandra 帐户查询数据。 你现在可以继续学习下一篇文章: