Добавление источника CDC MongoDB в поток событий (предварительная версия)

В этой статье показано, как добавить источник отслеживания измененных данных MongoDB (CDC) в поток событий.

Соединитель CDC MongoDB для Eventstream позволяет передавать события отслеживания изменений (CDC) из MongoDB в Fabric Eventstream. Он поддерживает несколько типов развертывания MongoDB, включая локальные, размещенные в облаке, и MongoDB Atlas, что обеспечивает широкий спектр сценариев CDC. С помощью этого соединителя можно записывать изменения базы данных в режиме реального времени и передавать их непосредственно в поток событий для немедленной обработки и аналитики.

Предпосылки

  • Рабочая область в режиме Fabric вместимости или пробной лицензии с разрешениями Contributor или более высокими разрешениями.
  • Кластер MongoDB, доступный из IP-адреса клиента. Если он находится в защищенной сети, подключитесь к нему с помощью внедрения виртуальной сети соединителя Eventstream.
  • Включение отслеживания изменений данных (CDC) для коллекций, которые требуется отслеживать.
  • Поток событий в Fabric. Если у вас его нет, создайте поток событий.

Создайте экземпляр MongoDB

В этом примере используется MongoDB Atlas, управляемая служба MongoDB в MongoDB Cloud.

Чтобы записать изменения, необходимо включить запись измененных данных (CDC) для целевых коллекций.

Выполните следующую команду в оболочке MongoDB, чтобы включить CDC для коллекции:

db.runCommand({
  collMod: "<collectionName>",
  changeStreamPreAndPostImages: { enabled: true }
});

Замечание

Для выполнения этой команды требуется пользователь с atlasAdmin ролью, которая включает действие collMod. Если у вас нет этих разрешений, попросите коллегу с ролью atlasAdmin включить сбор изменений данных (Change Data Capture, CDC) для целевых коллекций перед фиксацией изменений в вашем потоке событий.

Необходимо также создать или использовать существующего пользователя MongoDB с ролью read (или выше) в целевой базе данных. В MongoDB Atlas в MongoDB Cloud перейдите в службу "Доступ к базе данных" , чтобы проверить роль пользователя.

Снимок экрана: изменение роли для базы данных MongoDB.

В MongoDB Atlas в MongoDB Cloud перейдите к сетевому доступу и добавьте IP-адрес клиента в список доступа к IP-адресам.

Снимок экрана: добавление списка IP-адресов.

Добавление MongoDB (CDC) в качестве источника

Если вы еще не добавили источник в поток событий, выберите плитку "Подключить источники данных ". Вы также можете выбрать Добавить источник>Подключить источники данных на ленте.

Снимок экрана, показывающий выбор плитки для использования внешнего источника.

Если вы добавляете источник в уже опубликованный поток событий, переключитесь в режим редактирования . На ленте выберите Добавить источник>Подключить источники данных.

Снимок экрана: выборы для добавления внешних источников.

На странице "Выбор источника данных" найдите и выберите "Подключиться" на плитке MongoDB (CDC).

Снимок экрана: выбор MongoDB (CDC) в качестве исходного типа в мастере получения событий.

Настройка и подключение к MongoDB (CDC)

  1. Выберите тип экземпляра MongoDB: MongoDB Atlas или MongoDB (самоуправляемый).

  2. Подключение:

    1. Если выбрать MongoDB Atlas:

      1. На экране "Подключение" в разделе "Подключение" выберите "Создать подключение".

        Снимок экрана: страница

      2. Введите следующие параметры подключения и учетные данные подключения:

      • Server: connection string для кластера Atlas, например cluster0.example.mongodb.net.

      • Кластер. Это поле является необязательным. Имя кластера уже является частью сервера, поэтому вы можете оставить это пустым.

      • Имя подключения: автоматически создано или введите новое имя для этого подключения.

      • Имя пользователя и пароль: учетные данные для пользователя с ролью не ниже чем read. Убедитесь, что пользователь имеет доступ к целевой базе данных и коллекциям.

        Снимок экрана: параметры подключения для MongoDB Atlas.

    2. Если выбрать MongoDB (самоуправляемый):

      1. На экране "Подключение" в разделе "Подключение" выберите "Создать подключение", чтобы создать облачное подключение.

        Снимок экрана: страница

      2. Введите следующие параметры подключения и учетные данные подключения:

      • Server: connection string для локально управляемого сервера MongoDB, например mongodb0.example.com:27017.

      • Имя подключения: автоматически создано или введите новое имя для этого подключения.

      • Имя пользователя и пароль. Укажите пользователя с разрешениями на чтение или более высокие разрешения для целевой базы данных и коллекций.

        Снимок экрана: параметры подключения для MongoDB (самостоятельное управление).

  3. Введите следующие сведения, чтобы настроить источник данных CDC MongoDB, а затем нажмите кнопку "Далее".

    • Базы данных: выберите все (по умолчанию) или введите имена баз данных. При выборе последнего укажите необязательный список разделенных запятыми регулярных выражений, которые соответствуют именам баз данных для отслеживания.
    • Коллекции: выберите все (по умолчанию) или введите имена коллекций. При выборе последнего укажите разделенный запятыми список регулярных выражений, которые соответствуют полным пространствам имен (например dbName.collectionName) коллекций MongoDB для отслеживания.
  4. Вы можете развернуть Дополнительные настройки для доступа к расширенным параметрам конфигурации источника CDC MongoDB.

    • Режим моментального снимка: доступны следующие параметры:
      • initial (default): указывает, что коннектор считывает моментальный снимок, когда смещение отсутствует или если поток oplog/change больше не содержит предыдущего смещения.
      • initial_only: Коннектор выполняет моментальный снимок базы данных. После завершения моментального снимка соединитель останавливается и не передает записи событий для последующих изменений базы данных.
      • no_data. Соединитель записывает структуру всех соответствующих таблиц, но не создает события READ для представления набора данных в точке запуска соединителя.

    Вы также можете изменить имя источника, нажав кнопку "Карандаш " для имени источника в разделе сведений о потоке справа.

    Снимок экрана: выбор таблиц, идентификатора сервера и порта для подключения MongoDB (CDC).

Сведения о потоке или источнике

  1. На странице "Подключение" выполните одно из этих действий на основе того, используете ли вы поток событий или концентратор Real-Time.

    • Eventstream:

      В области сведений о источнике справа выполните следующие действия:

      1. Чтобы изменить имя источника, нажмите кнопку Карандаш.

      2. Обратите внимание, что имя потока событий и имя Stream доступны только для чтения.

    • центрReal-Time:

      В разделе сведений о потоке справа выполните следующие действия.

      1. Выберите рабочую область Fabric где нужно создать поток событий.

      2. Для имени eventstream нажмите кнопку «Карандаш» и введите название для eventstream.

      3. Значение имени потока автоматически создается шляхом добавления -stream к имени eventstream. Этот поток отображается на странице "Все потоки данных " концентратора в режиме реального времени, когда мастер завершит работу.

  2. Нажмите кнопку "Далее" в нижней части страницы "Настройка ".

Проверка и подключение

На экране "Обзор и подключение" просмотрите сводку и выберите "Добавить (Eventstream) или "Connect (Real-Time hub).

Просмотр обновленного потока событий

Вы увидите источник MongoDB (CDC), добавленный в поток событий в режиме редактирования.

Снимок экрана: добавленный источник CDC MongoDB в режиме редактирования с выделенной кнопкой

Вы видите поток событий в режиме реального времени. Нажмите кнопку "Изменить " на ленте, чтобы вернуться в режим редактирования, чтобы обновить поток событий.

Снимок экрана: добавленный источник CDC MongoDB в режиме реального времени.

Limitation

  • Источник CDC MongoDB в настоящее время не поддерживает функции CI/CD, включая интеграцию Git и конвейер развертывания. Попытка экспортировать или импортировать элемент Eventstream с этим источником в репозиторий Git может привести к ошибкам.

Другие соединители: