Использование 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.

  1. Перейдите на портал Azure по адресу https://portal.azure.com/ и выполните вход.

  2. Выберите Создать ресурс, Начало работы и Azure Cosmos DB.

    Портал Azure, создание ресурса, поиск Azure Cosmos DB.

  3. На экране Выберите вариант API выберите Cassandra.

    Портал Azure, создание ресурса, выбор варианта API, Cassandra.

  4. Укажите следующие сведения:

    • Подписка: Укажите подписку Azure, которую нужно использовать.
    • Группа ресурсов. Укажите, следует ли создать группу ресурсов, или выберите имеющуюся группу ресурсов.
    • Имя учетной записи: выберите уникальное имя для учетной записи Azure Cosmos DB; он будет использоваться для создания полного доменного имени, например wingtiptoyscassandra.documents.azure.com.
    • API. Для работы с этим руководством выберите Cassandra.
    • Расположение. Укажите ближайший географический регион для базы данных.

    Укажите параметры учетной записи Azure Cosmos DB.

  5. После ввода всех этих данных нажмите кнопку Отзыв и создание.

  6. Если при просмотре страницы все выглядит правильно, щелкните Создать.

    Проверьте параметры учетной записи Azure Cosmos DB.

Развертывание базы данных занимает несколько минут.

Добавление пространства ключей к учетной записи Azure Cosmos DB

  1. Перейдите на портал Azure по адресу https://portal.azure.com/ и выполните вход.

  2. Выберите Все ресурсы, а затем щелкните только что созданную учетную запись Azure Cosmos DB.

  3. Выберите Обозреватель данных, щелкните стрелку вниз и выберите пункт New Keyspace (Создать пространство ключей). Введите уникальный идентификатор в поле Keyspace id (Идентификатор пространства ключей), а затем нажмите кнопку ОК.

    Выберите новое пространство ключей.

    Создайте пространство ключей Azure Cosmos DB.

Получение параметров подключения к учетной записи Azure Cosmos DB

  1. Перейдите на портал Azure по адресу https://portal.azure.com/ и выполните вход.

  2. Выберите Все ресурсы, а затем щелкните только что созданную учетную запись Azure Cosmos DB.

  3. Выберите Строки подключения и скопируйте соответствующие значения для полей Точка контакта, Порт, Имя пользователя и Основной пароль. Позже эти значения будут использоваться для настройки приложения.

    Получите параметры подключения к Azure Cosmos DB.

Настройка примера приложения

Следующая процедура настраивает тестовое приложение.

  1. Откройте командную строку и клонируйте пример проекта с помощью команды Git, как в следующем примере:

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
    
  2. Найдите файл application.properties в каталоге resources примера приложения или создайте его, если он еще не существует.

  3. Откройте файл 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 Указывается основной пароль, описанный ранее в этой статье.
  4. Сохраните и закройте файл application.properties.

Упаковывание и тестирование примера приложения

Перейдите в каталог, содержащий файл .pom, чтобы создать и протестировать приложение.

  1. Создайте пример приложения с помощью Maven, например:

    mvn clean package
    
  2. Запустите пример приложения, например:

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. Из командной строки создайте записи с помощью 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'}.
    
  4. Получите все имеющиеся записи из командной строки с помощью 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).