Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНЯЕТСЯ К:
Кассандра
Important
Вы ищете решение для баз данных для крупномасштабных сценариев с соглашением об уровне обслуживания (SLA) с доступностью 99,999%, мгновенным автомасштабированием и автоматическим переключением на резервные ресурсы в нескольких регионах? Рассмотрим Azure Cosmos DB для NoSQL.
Вы хотите перенести существующее приложение Apache Cassandra? Рассмотрим управляемый экземпляр Azure для Apache Cassandra.
Как у разработчика, у вас могут быть приложения, которые используют пары «ключ-значение». Вы можете использовать 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.
Создание учетной записи базы данных
В меню портала Azure или домашней странице выберите "Создать ресурс".
На странице Новая найдите и выберите Azure Cosmos DB.
На странице Azure Cosmos DB выберите Создать.
На странице API в разделе Cassandra выберите "Создать".
API определяет тип учетной записи, которую нужно создать. Azure Cosmos DB предоставляет пять API: NoSQL для баз данных документов, Gremlin для графовых баз данных, MongoDB для баз данных документов, таблиц Azure и Cassandra. Для каждого API требуется создать отдельную учетную запись.
Выберите Cassandra , так как в этом руководстве вы создаете таблицу, которая работает с API для Cassandra.
Дополнительные сведения об API для Cassandra см. в статье "Что такое Azure Cosmos DB для Apache Cassandra?".
На странице "Создание учетной записи Azure Cosmos DB " введите основные параметры для новой учетной записи Azure Cosmos DB.
Настройки Value Description Подписка Ваша подписка Выберите подписку 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 RU/c и 25 ГБ хранилища бесплатно. Дополнительные сведения о бесплатном уровне. Ограничение общей пропускной способности учетной записи Выберите, чтобы ограничить пропускную способность учетной записи. Этот параметр полезен, если требуется ограничить общую пропускную способность учетной записи определенным значением. Замечание
Вы можете иметь одну бесплатную учетную запись уровня Azure Cosmos DB на одну подписку Azure. При создании учетной записи необходимо дать согласие. Если вы не видите возможность применить скидку на бесплатный уровень, возможно, другая учетная запись в подписке уже использует бесплатный уровень.
На вкладке "Глобальное распределение" настройте следующие сведения. Используйте значения по умолчанию для этого руководства.
Настройки Value Description Геоизбыточность Disable Включает или отключает глобальное распределение в вашей учетной записи, связывая ваш регион с парным регионом. В дальнейшем в учетную запись можно добавить дополнительные регионы. Многорегиональные записи Disable Благодаря возможности многорегионной записи вы можете воспользоваться подготовленной пропускной способностью для баз данных и контейнеров по всему миру. Зоны доступности Disable Зоны доступности — это изолированные расположения в регионе 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. В папке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.
Добавление базы данных и таблицы
В этом разделе описывается, как добавить базу данных (пространство ключей) и таблицу с помощью языка запросов Cassandra (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. Теперь вы можете перейти к следующей статье: