Как использовать API MongoDB Spring Data с Azure Cosmos DB

В этой статье показано создание примера приложения, использующего Spring Data для хранения и извлечения информации с помощью API MongoDB для Azure Cosmos DB.

Предварительные требования

Чтобы выполнить действия, описанные в этой статье, необходимо следующее:

создание учетной записи Azure Cosmos DB;

Создание учетной записи Cosmos DB с помощью портала Azure

Примечание

Более подробные сведения о создании учетных записей Azure Cosmos DB см. в статье о документации по Azure Cosmos DB.

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

  2. Выберите Создать ресурс, Базы данных и Azure Cosmos DB.

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

  3. На экране Выберите вариант API выберите API Azure CosmosDB для MongoDB.

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

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

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

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

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

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

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

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

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

    Получение строки подключения к Cosmos DB.

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

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

    git clone https://github.com/spring-guides/gs-accessing-data-mongodb.git
    
  2. Создайте каталог resources в каталоге примера проекта <project root>/complete/src/main, а затем создайте файл application.properties в каталоге resources.

  3. Откройте файл application.properties в текстовом редакторе и добавьте указанные ниже строки в файл и замените примеры значений на соответствующие полученные ранее значения:

    spring.data.mongodb.database=wingtiptoysmongodb
    spring.data.mongodb.uri=mongodb://wingtiptoysmongodb:AbCdEfGhIjKlMnOpQrStUvWxYz==@wingtiptoysmongodb.documents.azure.com:10255/?ssl=true&replicaSet=globaldb
    

    Где:

    Параметр Описание
    spring.data.mongodb.database Определяет имя учетной записи Cosmos DB, описанное в этой статье.
    spring.data.mongodb.uri Указывает основную строку подключения, описанную в этой статье.
  4. Сохраните и закройте файл application.properties.

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

Чтобы создать приложение, перейдите в каталог /gs-accessing-data-mongodb/complete, в котором содержится файл pom.xml.

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

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

    java -jar target/accessing-data-mongodb-0.0.1-SNAPSHOT.jar
    

    Приложение должно возвращать значения следующим образом:

    Customers found with findAll():
    -------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customer[id=5c1b4ae4d0b5080ac105cc14, firstName='Bob', lastName='Smith']
    
    Customer found with findByFirstName('Alice'):
    --------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customers found with findByLastName('Smith'):
    --------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customer[id=5c1b4ae4d0b5080ac105cc14, firstName='Bob', lastName='Smith']
    

Итоги

С помощью этого руководства вы создали пример приложения Java, использующий Spring Data для хранения и извлечения информации с помощью API MongoDB для Azure Cosmos DB.

Очистка ресурсов

Если они больше не нужны, используйте портал Azure, чтобы удалить ресурсы, созданные в этой статье во избежание непредвиденных расходов.

Дальнейшие действия

Дополнительные сведения о Spring и Azure см. в центре документации об использовании Spring в Azure.

Дополнительные ресурсы

Дополнительные сведения об использовании Java в Azure см. в статьях Azure для разработчиков Java и Working with Azure DevOps and Java (Работа с Azure DevOps и Java).