Краткое руководство. Создание консольного приложения с помощью Java и Azure Cosmos DB для MongoDB

Область применения: Mongodb

В этом кратком руководстве вы создадите портал Azure учетную запись Azure Cosmos DB для MongoDB и добавьте данные с помощью клонированного из GitHub приложения пакета SDK для Java. Azure Cosmos DB — это служба многомодельной базы данных, позволяющая быстро создать и запрашивать документы, таблицы, пары "ключ-значение", а также графовые базы данных, используя возможности глобального распределения и горизонтального масштабирования.

Необходимые компоненты

Создание учетной записи базы данных

  1. В новом окне браузера войдите на портал Azure.

  2. В меню слева выберите Создать ресурс.

    Снимок экрана: создание ресурса на портале Azure.

  3. На странице New (Новый) выберите Базы данных>Azure Cosmos DB.

    Снимок экрана: область

  4. На странице "Выбор API" выберите Azure Cosmos DB для MongoDB>Create.

    API определяет тип учетной записи, которую нужно создать. Выберите Azure Cosmos DB для MongoDB, так как вы создадите коллекцию, которая работает с MongoDB в этом кратком руководстве. Дополнительные сведения см. в статье "Обзор Azure Cosmos DB для MongoDB".

    Снимок экрана: область

  5. На странице Создание учетной записи Azure Cosmos DB введите параметры для новой учетной записи Azure Cosmos DB.

    Параметр значение Описание
    Подписка Имя подписки Выберите подписку Azure, которую вы хотите использовать для этой учетной записи Azure Cosmos DB.
    Группа ресурсов Имя группы ресурсов Выберите группу ресурсов или Создать, затем введите уникальное имя для новой группы ресурсов.
    Имя учетной записи Укажите уникальное имя Введите уникальное имя для идентификации вашей учетной записи Azure Cosmos DB. URI вашего аккаунта mongo.cosmos.azure.com будет добавлен к вашему уникальному имени аккаунта.

    Имя может содержать только строчные буквы, цифры и дефисы (-). Его длина должна быть от 3 до 44 знаков.
    Расположение Ближайший к пользователям регион Выберите географическое расположение для размещения учетной записи Azure Cosmos DB. Используйте ближайшее к пользователям расположение, чтобы предоставить им максимально быстрый доступ к данным.
    Режим емкости Подготовленная пропускная способность или Бессерверный режим Выберите Подготовленная пропускная способность, чтобы создать учетную запись в режиме подготовленной пропускной способности. Выберите Бессерверный, чтобы создать учетную запись в режиме Бессерверный.

    Примечание. Только API для MongoDB версии 4.2, 4.0 и 3.6 поддерживаются бессерверными учетными записями. Если выбрать версию 3.2, учетная запись перейдет в режим использования подготовленной пропускной способности.
    Применение скидки на основе категории "Бесплатный" для Azure Cosmos DB Применить или не применять В категории "Бесплатный" Azure Cosmos DB для учетной записи бесплатно предоставляются первые 1000 единиц запросов в секунду и 25 ГБ свободного места. Ознакомьтесь с дополнительными сведениями о категории "Бесплатный".
    Версия Выбор требуемой версии сервера Azure Cosmos DB для MongoDB совместима с сервером версии 4.2, 4.0, 3.6 и 3.2. Вы можете обновить или понизить уровень учетной записи после ее создания.

    Примечание.

    Вы можете использовать не более одной учетной записи Azure Cosmos DB категории "Бесплатный" на подписку Azure. При создании учетной записи нужно зарегистрироваться. Если параметр подачи заявки на скидку на основе категории "Бесплатный" не отображается, это означает, что в подписке уже включена другая учетная запись категории "Бесплатный".

    Снимок экрана: страница новой учетной записи для Azure Cosmos DB.

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

    Параметр значение Описание
    Геоизбыточность Отключить Включает или отключает глобальное распределение в вашей учетной записи, связывая ваш регион с парным регионом. В дальнейшем в учетную запись можно добавить дополнительные регионы.
    Операции записи с поддержкой нескольких регионов Отключить Поддержка записи в несколько регионов позволяет использовать подготовленную пропускную способность для баз данных и контейнеров по всему миру.

    Примечание.

    Следующие параметры недоступны, если вы выбрали значение Бессерверный для параметра Режим емкости:

    • Применить скидку бесплатного уровня
    • Геоизбыточность
    • Операции записи с поддержкой нескольких регионов
  7. При необходимости можно настроить дополнительные сведения на следующих вкладках.

  8. Выберите Review + create (Просмотреть и создать).

  9. Создание учетной записи занимает несколько минут. Дождитесь отображения поздравляем на портале! Ваша учетная запись Azure Cosmos DB для MongoDB готова .

    Снимок экрана: область уведомлений на портале Azure.

Добавление коллекции

Присвойте новой базе данных имя db, а новой коллекции — coll.

Теперь вы можете использовать средство обозреватель данных на портале Azure для создания API Azure Cosmos DB для базы данных и контейнера MongoDB.

  1. Щелкните Обозреватель данных>Создать контейнер.

    Справа отобразится область Добавить контейнер. Возможно, вам придется прокрутить экран вправо, чтобы увидеть ее.

    Область добавления контейнера в обозревателе данных на портале Azure

  2. На странице Добавить контейнер введите параметры для нового контейнера.

    Параметр Предлагаемое значение Description
    Идентификатор базы данных db Введите db в качестве имени новой базы данных. Имена баз данных должны быть длиной от 1 до 255 символов и не могут содержать символы /, \\, #, ? или пробел в конце. Проверьте параметр Provision database throughput (Подготовка пропускной способности базы данных), который позволяет предоставить общий доступ к пропускной способности, подготовленной для базы данных всех контейнеров в пределах базы данных. Этот параметр также способствует экономии денежных средств.
    Пропускная способность 400 Для пропускной способности сохраните значение в 400 единиц запроса в секунду. Чтобы сократить задержку, позже вы можете увеличить масштаб пропускной способности. Вы также можете выбрать режим автомасштабирования. Он предоставит диапазон единиц запросов в секунду, которые будут динамически увеличиваться и уменьшаться по мере необходимости.
    Идентификатор коллекции coll Введите coll в качестве имени нового контейнера. Для идентификаторов контейнеров предусмотрены те же требования к символам, что и для имен баз данных.
    Емкость хранилища Фиксированный (10 ГБ) Введите Фиксированный (10 ГБ) для этого приложения. Если выбрать параметр Не ограничено, необходимо будет создать Shard Key, для которого потребуются все вставляемые элементы.
    Ключ сегмента /_id В примере, описанном в этой статье, не используется ключ сегмента, поэтому при установке значения /_id в качестве ключа сегмента будет использоваться автоматически созданное поле идентификатора. Дополнительные сведения о сегментировании, также называемом секционированием, см. в статье Секционирование в базе данных Azure Cosmos DB.

    Нажмите ОК. В обозревателе данных отобразится новая база данных и контейнер.

Клонирование примера приложения

Теперь клонируйте приложение из GitHub. Задайте строку подключения и выполните ее. Вы узнаете, как можно упростить работу с данными программным способом.

  1. Откройте командную строку, создайте папку git-samples, а затем закройте окно командной строки.

    md "C:\git-samples"
    
  2. Откройте окно терминала git, например git bash, и выполните команду cd, чтобы перейти в новую папку для установки примера приложения.

    cd "C:\git-samples"
    
  3. Выполните команду ниже, чтобы клонировать репозиторий с примером. Эта команда создает копию примера приложения на локальном компьютере.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
    
  4. Затем откройте код в любом удобном редакторе.

Просмотр кода

Этот шаг необязательный. Если вы хотите узнать, как создать в коде ресурсы базы данных, изучите приведенные ниже фрагменты кода. Если вас это не интересует, можете сразу переходить к разделу Обновление строки подключения.

Приведенные ниже фрагменты кода взяты из файла Program.java.

Это консольное приложение использует драйвер Java для MongoDB.

  • Инициализация экземпляра DocumentClient.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • Создание базы данных и коллекции.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • Вставка документов с использованием MongoCollection.insertOne.

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • Выполнение запросов с использованием MongoCollection.find.

    Document queryResult = collection.find(Filters.eq("fruit", "apple")).first();
    System.out.println(queryResult.toJson());    	
    

Обновление строки подключения

Теперь вернитесь на портал Azure, чтобы получить данные строки подключения. Скопируйте эти данные в приложение.

  1. В учетной записи Azure Cosmos DB щелкните Быстрый запуск, выберите Java, а затем скопируйте строку подключения в буфер обмена.

  2. Откройте файл Program.java, замените аргумент конструктора MongoClientURI строкой подключения. Теперь приложение со всеми сведениями, необходимыми для взаимодействия с Azure Cosmos DB, обновлено.

Запуск консольного приложения

  1. Запуск mvn package в терминале для установки необходимых пакетов

  2. В окне терминала запустите mvn exec:java -D exec.mainClass=GetStarted.Program, чтобы запустить приложение Java.

Теперь вы можете использовать Robomongo / Studio 3T, чтобы запрашивать и изменять новые данные, а также работать с ними.

Просмотр соглашений об уровне обслуживания на портале Azure

Портал Azure отслеживает пропускную способность учетной записи Azure Cosmos DB, хранилище, доступность, задержку и согласованность. На диаграммах метрик, связанных с соглашением об уровне обслуживания для Azure Cosmos DB, отображается значение, указанное в соглашении об уровне обслуживания, в сравнении с фактической производительностью. Этот набор метрик обеспечивает прозрачный мониторинг выполнения соглашения об уровне обслуживания.

Чтобы просмотреть метрики и соглашения об уровне обслуживания, сделайте следующее:

  1. Выберите метрики в меню навигации учетной записи Azure Cosmos DB.

  2. Выберите вкладку, например Задержка, и укажите временной интервал справа. Сравните на диаграмме строки Actual (Фактическое значение) и SLA (Соглашение об уровне обслуживания).

    Набор метрик Azure Cosmos DB

  3. Просмотрите метрики на других вкладках.

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

После завершения работы с приложением и учетной записью Azure Cosmos DB можно удалить созданные ресурсы Azure, чтобы избежать дополнительных расходов. Удаление ресурсов:

  1. На панели поиска портала Azure найдите и выберите Группы ресурсов.

  2. Выберите из списка группу ресурсов, созданную для этого краткого руководства.

    Выбор группы ресурсов для удаления

  3. На странице обзора группы ресурсов выберите Удалить группу ресурсов.

    Удаление группы ресурсов

  4. В следующем окне введите имя группы ресурсов, которую требуется удалить, и щелкните Удалить.

Следующие шаги

Из этого краткого руководства вы узнали, как создать учетную запись Azure Cosmos DB для MongoDB, добавить базу данных и контейнер с помощью Обозреватель данных и добавить данные с помощью консольного приложения Java. Теперь вы можете импортировать дополнительные данные в базу данных Azure Cosmos DB.

Если вы планируете ресурсы для миграции в Azure Cosmos DB, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.