Использование Spring Data с Azure Cosmos DB для Apache Cassandra
В этой статье показано создание примера приложения, которое использует Spring Data для хранения и извлечения информации с помощью Azure Cosmos DB для Apache Cassandra.
Предварительные требования
- Учетная запись Azure. Если у вас ее нет, получите бесплатную пробную версию.
- Требуется Azure Cloud Shell или Azure CLI 2.37.0 или более поздней версии. Мы рекомендуем использовать Azure Cloud Shell, так вы автоматически войдете в систему и получите доступ ко всем необходимым средствам.
- Если вы используете компьютер Windows и хотите запустить примеры локально, установите и используйте последнюю версию подсистема Windows для Linux (WSL).
- Клиент командной строки MySQL. Вы можете подключиться к серверу с помощью популярного клиентского средства mysql.exe программы командной строки с помощью Azure Cloud Shell. Кроме того, можно использовать командную строку MySQL в локальной среде.
- Поддерживаемый пакет средств разработки Java версии 8 или более поздней. (Предпочтительнее 17 или более поздней версии. JDK входит в состав Azure Cloud Shell). Рекомендуется установить Microsoft Build из OpenJDK.
- Apache Maven версии 3 или более поздней.
- Клиент Git.
- cURL или подобная служебная HTTP-программа, с помощью которой можно протестировать функциональные возможности.
Создание учетной записи Azure Cosmos DB
Следующая процедура создает и настраивает учетную запись Azure Cosmos DB в портал Azure.
создание учетной записи Azure Cosmos DB с помощью портала Azure;
Примечание
Дополнительные сведения о создании учетных записей см. в документации по Azure Cosmos DB.
Перейдите на портал Azure по адресу https://portal.azure.com/ и выполните вход.
Выберите Создать ресурс, Начало работы и Azure Cosmos DB.
На экране Выберите вариант API выберите Cassandra.
Укажите следующие сведения:
- Подписка: Укажите подписку Azure, которую нужно использовать.
- Группа ресурсов. Укажите, следует ли создать группу ресурсов, или выберите имеющуюся группу ресурсов.
- Имя учетной записи: выберите уникальное имя для учетной записи Azure Cosmos DB; он будет использоваться для создания полного доменного имени, например wingtiptoyscassandra.documents.azure.com.
- API. Для работы с этим руководством выберите Cassandra.
- Расположение. Укажите ближайший географический регион для базы данных.
После ввода всех этих данных нажмите кнопку Отзыв и создание.
Если при просмотре страницы все выглядит правильно, щелкните Создать.
Развертывание базы данных занимает несколько минут.
Добавление пространства ключей к учетной записи Azure Cosmos DB
Перейдите на портал Azure по адресу https://portal.azure.com/ и выполните вход.
Выберите Все ресурсы, а затем щелкните только что созданную учетную запись Azure Cosmos DB.
Выберите Обозреватель данных, щелкните стрелку вниз и выберите пункт New Keyspace (Создать пространство ключей). Введите уникальный идентификатор в поле Keyspace id (Идентификатор пространства ключей), а затем нажмите кнопку ОК.
Получение параметров подключения к учетной записи Azure Cosmos DB
Перейдите на портал Azure по адресу https://portal.azure.com/ и выполните вход.
Выберите Все ресурсы, а затем щелкните только что созданную учетную запись Azure Cosmos DB.
Выберите Строки подключения и скопируйте соответствующие значения для полей Точка контакта, Порт, Имя пользователя и Основной пароль. Позже эти значения будут использоваться для настройки приложения.
Настройка примера приложения
Следующая процедура настраивает тестовое приложение.
Откройте командную строку и клонируйте пример проекта с помощью команды Git, как в следующем примере:
git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
Найдите файл application.properties в каталоге resources примера приложения или создайте его, если он еще не существует.
Откройте файл application.properties в текстовом редакторе, добавьте или настройте указанные ниже строки в файл и замените примеры значений на соответствующие полученные ранее значения:
spring.data.cassandra.contact-points=wingtiptoyscassandra.cassandra.cosmos.azure.com spring.data.cassandra.port=10350 spring.data.cassandra.username=wingtiptoyscassandra spring.data.cassandra.password=********
Где:
Параметр Описание spring.data.cassandra.contact-points
Указывается точка контакта, описанная ранее в этой статье. spring.data.cassandra.port
Указывается порт, описанный ранее в этой статье. spring.data.cassandra.username
Указывается имя пользователя, описанное ранее в этой статье. spring.data.cassandra.password
Указывается основной пароль, описанный ранее в этой статье. Сохраните и закройте файл application.properties.
Упаковывание и тестирование примера приложения
Перейдите в каталог, содержащий файл .pom, чтобы создать и протестировать приложение.
Создайте пример приложения с помощью Maven, например:
mvn clean package
Запустите пример приложения, например:
java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
Из командной строки создайте записи с помощью
curl
, как в следующем примере:curl -s -d "{\"name\":\"dog\",\"species\":\"canine\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets curl -s -d "{\"name\":\"cat\",\"species\":\"feline\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
Приложение должно возвращать значения следующим образом:
Added Pet{id=60fa8cb0-0423-11e9-9a70-39311962166b, name='dog', species='canine'}. Added Pet{id=72c1c9e0-0423-11e9-9a70-39311962166b, name='cat', species='feline'}.
Получите все имеющиеся записи из командной строки с помощью
curl
, как в следующем примере:curl -s http://localhost:8080/pets
Приложение должно возвращать значения следующим образом:
[{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
Итоги
В этом руководстве вы создали пример приложения Java, которое использует Spring Data для хранения и извлечения информации с помощью Azure Cosmos DB для Apache Cassandra.
Очистка ресурсов
Если они больше не нужны, используйте портал Azure, чтобы удалить ресурсы, созданные в этой статье во избежание непредвиденных расходов.
Дальнейшие действия
Дополнительные сведения о Spring и Azure см. в центре документации об использовании Spring в Azure.
Дополнительные ресурсы
Дополнительные сведения об использовании Java в Azure см. в статьях Azure для разработчиков Java и Working with Azure DevOps and Java (Работа с Azure DevOps и Java).