Руководство. Запрос данных из учетной записи Cassandra в Azure Cosmos DB
Область применения: Кассандра
Как у разработчика у вас должно быть приложение, использующее пары "ключ-значение". Вы можете использовать API для учетной записи Cassandra в Azure Cosmos DB для хранения и запроса данных ключа или значения. В этом руководстве показано, как запрашивать данные пользователей из учетной записи API для Cassandra в Azure Cosmos DB с помощью приложения Java. Приложение Java использует драйвер Java и запрашивает данные пользователя, например, идентификатор пользователя, имя пользователя, город пользователя.
В рамках этого руководства рассматриваются следующие задачи:
- Запрос данных из таблицы Cassandra
- Выполнить приложение
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Необходимые компоненты
- Эта статья относится к руководству из нескольких частей. Перед началом работы выполните предыдущие действия, чтобы создать API для учетной записи Cassandra, пространства ключей, таблицы и загрузки примеров данных в таблицу.
Запрос данных
Выполните следующие действия, чтобы запросить данные из учетной записи API для Cassandra:
Откройте файл
UserRepository.java
, расположенный в папкеsrc\main\java\com\azure\cosmosdb\cassandra
. Добавьте в него приведенный ниже блок кода. Этот код предоставляет три метода:- для запрашивания данных всех пользователей в базе данных;
- для запрашивания данных конкретного пользователя с применением фильтра по идентификатору пользователя;
- для удаления таблицы.
/** * 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); }
Откройте файл
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
Откройте командную строку или окно терминала. Вставьте следующий блок кода.
Этот код изменяет каталог (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
Теперь на портале Azure откройте обозреватель данных и убедитесь, что таблица пользователя удалена.
Очистка ресурсов
Если они больше не нужны, вы можете удалить группу ресурсов, учетную запись Azure Cosmos DB и все связанные ресурсы. Для этого выберите группу ресурсов для виртуальной машины, выберите Удалить и подтвердите имя удаляемой группы ресурсов.
Следующие шаги
В этом руководстве вы узнали, как запрашивать данные из учетной записи API для Cassandra в Azure Cosmos DB. Теперь вы можете перейти к следующей статье: