Руководство по созданию учетной записи API для Cassandra в Azure Cosmos DB с помощью приложения Java для хранения данных ключа и значения
Область применения: Кассандра
Как у разработчика у вас должно быть приложение, использующее пары "ключ-значение". Вы можете использовать API для учетной записи Cassandra в Azure Cosmos DB для хранения данных ключа и значения. В этом руководстве описывается, как использовать приложение Java для создания учетной записи API для учетной записи Cassandra в Azure Cosmos DB, добавления базы данных (также называемого пространством ключей) и добавления таблицы. Приложение Java использует драйвер Java, чтобы создать базу данных пользователя, которая содержит такие сведения, как идентификатор пользователя, имя пользователя и город пользователя.
В рамках этого руководства рассматриваются следующие задачи:
- Создание учетной записи базы данных Cassandra
- Получение строки подключения к учетной записи
- Создание проекта Maven и зависимостей
- Добавление базы данных и таблицы
- Выполнить приложение
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Получите последнюю версию пакета средств разработки Java (JDK).
Скачайте и установите двоичный архив Maven.
- В Ubuntu выполните команду
apt-get install maven
, чтобы установить Maven.
- В Ubuntu выполните команду
Создание учетной записи базы данных
На домашней странице или в меню портала Azure выберите Создать ресурс.
На странице Создание найдите и выберите Azure Cosmos DB.
На странице Azure Cosmos DB выберите Создать.
На странице API выберите "Создать" в разделе Cassandra.
API определяет тип учетной записи, которую нужно создать. Azure Cosmos DB предоставляет пять API: NoSQL для баз данных документов, Gremlin для графовых баз данных, MongoDB для баз данных документов, таблиц Azure и Cassandra. Для каждого API требуется создать отдельную учетную запись.
Выберите Cassandra, так как в этом кратком руководстве вы создаете таблицу, которая работает с API для Cassandra.
На странице "Создание учетной записи Azure Cosmos DB" введите основные параметры для новой учетной записи Azure Cosmos DB.
Параметр значение Описание Подписка Ваша подписка Выберите подписку Azure, которую вы хотите использовать для этой учетной записи Azure Cosmos DB. Группа ресурсов создание
Затем введите имя, использованное для учетной записиВыберите Создать. Затем введите новое имя группы ресурсов для учетной записи. Для удобства можно использовать то же имя, которое присвоено учетной записи Azure Cosmos DB. Имя учетной записи Укажите уникальное имя Введите уникальное имя для идентификации вашей учетной записи Azure Cosmos DB. URI вашей учетной записи cassandra.cosmos.azure.com будет добавлен к уникальному имени учетной записи.
Имя может содержать только строчные буквы, цифры и дефисы. Его длина должна быть от 3 до 31 знаков.Расположение Ближайший к пользователям регион Выберите географическое расположение для размещения учетной записи Azure Cosmos DB. Используйте ближайшее к пользователям расположение, чтобы предоставить им максимально быстрый доступ к данным. Режим емкости Подготовленная пропускная способность или Бессерверный режим Выберите Подготовленная пропускная способность, чтобы создать учетную запись в режиме подготовленной пропускной способности. Выберите Бессерверный, чтобы создать учетную запись в режиме Бессерверный. Применение скидки на основе категории "Бесплатный" для Azure Cosmos DB Применить или не применять В категории "Бесплатный" Azure Cosmos DB для учетной записи бесплатно предоставляются первые 1000 единиц запросов в секунду и 25 ГБ свободного места. Ознакомьтесь с дополнительными сведениями о категории "Бесплатный". Ограничить общую пропускную способность учетной записи Выберите, чтобы ограничить пропускную способность учетной записи Это полезно, если требуется ограничить общую пропускную способность учетной записи определенным значением. Примечание.
Вы можете использовать не более одной учетной записи Azure Cosmos DB категории "Бесплатный" на подписку Azure. При создании учетной записи нужно зарегистрироваться. Если параметр подачи заявки на скидку на основе категории "Бесплатный" не отображается, это означает, что в подписке уже включена другая учетная запись категории "Бесплатный".
На вкладке Глобальное распределение настройте следующие сведения. При работе с этим кратким руководством можно оставить значения по умолчанию.
Параметр значение Описание Геоизбыточность Отключить Включает или отключает глобальное распределение в вашей учетной записи, связывая ваш регион с парным регионом. В дальнейшем в учетную запись можно добавить дополнительные регионы. Операции записи с поддержкой нескольких регионов Отключить Поддержка записи в несколько регионов позволяет использовать подготовленную пропускную способность для баз данных и контейнеров по всему миру. зоны доступности; Отключить Зоны доступности — это изолированные расположения в регионе Azure. Каждая зона состоит из одного или нескольких центров обработки данных, оснащенных независимыми системами электроснабжения, охлаждения и сетевого взаимодействия. Примечание.
Следующие параметры недоступны, если вы выбрали значение Бессерверный для параметра Режим емкости:
- Применить скидку бесплатного уровня
- Геоизбыточность
- Операции записи с поддержкой нескольких регионов
При необходимости можно настроить дополнительные сведения на следующих вкладках.
- Сеть: настройка доступа из виртуальной сети.
- Политика резервного копирования: настройте политику периодического или непрерывного резервного копирования.
- Шифрование: используйте либо ключ, управляемый службой, либо ключ, управляемый клиентом.
- Теги: теги — это пары имя — значение, которые можно назначать различным ресурсам и группам ресурсов для их категоризации и консолидированного отображения счетов.
Выберите Review + create (Просмотреть и создать).
Проверьте параметры учетной записи, а затем нажмите кнопку Создать. Создание учетной записи занимает несколько минут. Дождитесь, пока на странице портала появится сообщение Развертывание выполнено.
Выберите Перейти к ресурсу, чтобы перейти на страницу учетной записи Azure Cosmos DB.
Получение сведений о подключении учетной записи
Получите сведения о строке подключения с портала Azure и скопируйте их в файл конфигурации Java. Строка подключения обеспечивает обмен данными между вашим приложением и размещенной базой данных.
В портал Azure перейдите к учетной записи Azure Cosmos DB.
Откройте панель Строка подключения.
Скопируйте значения CONTACT POINT, PORT, USERNAME и PRIMARY PASSWORD, которые пригодятся вам на следующих этапах.
Создание проекта и зависимостей
Пример проекта Java, используемый в этой статье, размещен на GitHub. Можно выполнять действия, описанные в этом документе, или загрузить пример из репозитория azure-cosmos-db-cassandra-java-getting-started.
После загрузки файлов обновите строку подключения в файле java-examples\src\main\resources\config.properties
и запустите его.
cassandra_host=<FILLME_with_CONTACT POINT>
cassandra_port = 10350
cassandra_username=<FILLME_with_USERNAME>
cassandra_password=<FILLME_with_PRIMARY PASSWORD>
Чтобы создать образец с нуля, сделайте следующее:
Из терминала или командной строки создайте новый проект Maven с именем Cassandra-demo.
mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Найдите папку
cassandra-demo
. Откройте в текстовом редакторе созданный файлpom.xml
.Добавьте зависимости Cassandra и создайте подключаемые модули, необходимые в проекте, как показано в файле pom.xml.
В папке
cassandra-demo\src\main
создайте папку с именемresources
. В папке ресурсов добавьте файлы config.properties и log4j.properties:Файл config.properties хранит конечную точку подключения и ключевые значения API для учетной записи Cassandra.
Файл log4j.properties определяет уровень ведения журнала, необходимый для взаимодействия с API для Cassandra.
Перейдите в папку
src/main/java/com/azure/cosmosdb/cassandra/
. В папке cassandra создайте вторую папку с именемutils
. Новая папка хранит классы служебной программы, необходимые для подключения к API для учетной записи Cassandra.Добавьте класс CassandraUtils для создания кластера и открытия и закрытия сеансов Cassandra. Кластер подключается к учетной записи API для Cassandra в Azure Cosmos DB и возвращает сеанс для доступа. Используйте класс Configurations для чтения строки подключения из файла config.properties.
Пример Java создает базу данных со сведениями о пользователе, такими как имя пользователя, идентификатор пользователя и город пользователя. Необходимо определить методы get и set для доступа к сведениям о пользователе в основной функции.
Создайте класс User.java в папке
src/main/java/com/azure/cosmosdb/cassandra/
с методами get и set.
Добавление базы данных и таблицы
В этом разделе описывается добавление базы данных (пространства ключей) и таблицы с помощью CQL.
В папке
src\main\java\com\azure\cosmosdb\cassandra
создайте папку с именемrepository
.Создайте класс Java
UserRepository
и добавьте в него следующий код: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'"); } }
Найдите папку
src\main\java\com\azure\cosmosdb\cassandra
и создайте новую вложенную папку с именемexamples
.Создайте класс Java
UserProfile
. Этот класс содержит основной метод, который вызывает методы createKeyspace и createTable, определенные ранее: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"); } } }
Выполнить приложение
Откройте командную строку или окно терминала. Вставьте следующий блок кода.
Этот код изменяет каталог (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 откройте обозреватель данных и убедитесь, что пространство ключей и таблица созданы.
Следующие шаги
В этом руководстве вы узнали, как создать API для учетной записи Cassandra в Azure Cosmos DB, базе данных и таблицу с помощью приложения Java. Теперь вы можете перейти к следующей статье:
загрузите примеры данных в таблицу API для Cassandra.