Добавление источника AZURE SQL DATABASE CDC в поток событий

В этой статье показано, как добавить источник Azure SQL Database Отслеживание Изменений Данных (CDC) в поток событий.

Соединитель источника CDC Azure SQL Database для потоков событий Microsoft Fabric позволяет записывать моментальный снимок текущих данных в Azure SQL database. Затем соединитель отслеживает и записывает любые будущие изменения на уровне строк в эти данные. После записи изменений в потоке событий вы можете обрабатывать эти данные CDC в режиме реального времени и отправлять их в разные места назначения в Fabric для дальнейшей обработки или анализа.

Примечание.

С помощью DeltaFlow (предварительная версия) можно преобразовать необработанные события Debezium CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow автоматизирует регистрацию схемы, управление таблицами назначения и обработку эволюции схемы. Чтобы использовать DeltaFlow, выберите события, готовые к аналитике, и автоматически обновленную схему на этапе обработки схемы.

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

  • Доступ к рабочей области в режиме лицензии на использование Fabric или в режиме пробной лицензии с правами на уровне участников или выше.
  • Запущенный сервер Azure SQL с базой данных Azure SQL.
  • База данных Azure SQL должна быть общедоступной, а не за брандмауэром или защищенной в виртуальной сети. Если он находится в защищенной сети, подключитесь к нему с помощью инъекции виртуальной сети соединителя Eventstream.
  • Для включения CDC в базе данных Azure SQL выполните хранимую процедуру sys.sp_cdc_enable_db. Дополнительные сведения см. в разделе "Включение и отключение записи измененных данных".

Примечание.

Не включите зеркальное отображение в базе данных Azure SQL.

Включение CDC в Azure SQL Database

  1. Перейдите на портал Azure, откройте базу данных Azure SQL и выберите редактор Query. Выберите метод проверки подлинности для входа.

    Снимок экрана открытия базы данных Azure SQL.

  2. Выполните следующие команды SQL, чтобы включить CDC в базе данных:

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

Запуск мастера выбора источника данных

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

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

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

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

На странице Выберите источник данных найдите и выберите Connect на плитке Azure SQL DB (CDC).

Скриншот, показывающий выбор Azure SQL Database CDC в качестве типа источника в мастере событий получения.

Настройка и подключение к Azure SQL Database CDC

Прием данных об изменениях из Azure SQL баз данных с автоматической регистрацией схем таблиц через CDC в Eventstream.

Примечание.

DeltaFlow (предварительная версия): при выборе событий, готовых к аналитике, и автоматического обновления схемы на этапе обработки схемы, DeltaFlow преобразует необработанные события Debezium CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow также автоматизирует создание целевой таблицы и обработку эволюции схемы.

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

    Скриншот, показывающий страницу

  2. В разделе Connection settings введите следующие значения для базы данных Azure SQL:

    • Server: Введите имя сервера Azure SQL на портале Azure. Это в следующей форме: mysqlservername.database.windows.net

    • Database: Введите имя базы данных Azure SQL на портале Azure.

      Снимок экрана: раздел

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

    • В поле "Имя подключения" введите имя подключения.

    • Для типа проверки подлинности выберите "Базовый".

      Примечание.

      В настоящее время Fabric Eventstream поддерживает проверку подлинности только Basic.

    • Введите имя пользователя и пароль для базы данных.

  4. Нажмите Подключиться.

    Снимок экрана: раздел учетных данных подключения на странице

  5. Теперь на странице "Подключение" выберите "Все таблицы" или "Введите имена таблиц". Если выберете последний вариант, укажите таблицы, используя список полных идентификаторов таблиц, разделённых запятыми (schemaName.tableName), или допустимые регулярные выражения. Например:

    • Используйте dbo.test.*, чтобы выбрать все таблицы, имена которых начинаются с dbo.test.
    • Используйте dbo\.(test1|test2) для выбора dbo.test1 и dbo.test2.

    Вы можете смешивать оба формата с помощью запятых. Общее ограничение символов для всей записи составляет 102 400 символов.

  6. Вы можете развернуть параметры Advanced, чтобы получить доступ к дополнительным параметрам конфигурации для источника CDC Azure SQL Database:

    • Режим обработки десятичных значений: Определяет, как соединитель обрабатывает значения столбцов, указанные в DECIMAL и NUMERIC.
      • Precise: представляет значения с использованием точных десятичных типов (например, Java BigDecimal), чтобы обеспечить полную точность и точность представления данных.
      • Double: преобразует значения в числа с плавающей запятой двойной точности. Этот параметр повышает удобство использования и производительность, но может привести к потере точности.
      • String: кодирует значения в виде форматированных строк. Этот параметр упрощает использование в подчиненных системах, но теряет семантические сведения о исходном числовом типе.
    • Режим моментального снимка: укажите условия для выполнения моментального снимка при запуске соединителя:
      • Initial: соединитель запускает моментальный снимок только при отсутствии смещения для имени логического сервера или если он обнаруживает, что предыдущий моментальный снимок не выполнен. После завершения моментального снимка соединитель начинает потоковую передачу записей событий для последующих изменений базы данных.
      • InitialOnly: соединитель запускает моментальный снимок только в том случае, если для имени логического сервера ещё не записаны смещения. После завершения моментального снимка соединитель останавливается. Он не переходит на потоковую передачу для чтения событий изменения из binlog.
      • NoData: соединитель запускает снапшот, который сохраняет только схему, но не данные таблицы. Установите этот параметр, если вам не нужен согласованный моментальный снимок данных, но необходимо только изменения, происходящие с момента запуска соединителя.
    • Список исключений столбцов: указывает столбцы, которые следует исключить из значений событий изменений, используя полные имена (schemaName.tableName.columnName).
    • Database applicationIntent: определяет поведение маршрутизации в группах доступности AlwaysOn SQL Server:
      • ReadWrite: подключается к первичной реплике. Используйте этот параметр, если подключение должно выполнять операции чтения и записи.
      • ReadOnly: позволяет маршрутизацию на доступную для чтения вторичную реплику для операций чтения. Используйте его для включения CDC непосредственно на репликах. Для настройки параметра snapshot.isolation.mode необходимо установить значение snapshot, так как это единственный режим изоляции транзакций, поддерживаемый для реплик только для чтения.
    • Переопределение инструкции выбора моментального снимка: используйте свойство, если требуется, чтобы моментальный снимок включал только подмножество строк в таблицу. Это свойство влияет только на моментальные снимки. Он не применяется к событиям, которые соединитель считывает из журнала.

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

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

    • Eventstream:

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

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

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

    • центрReal-Time:

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

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

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

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

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

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

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

Страница обработки схемы

  1. На странице обработки схемы выберите один из следующих параметров:

    • События, готовые к аналитике и автоматически обновляемая схема (предварительная версия DeltaFlow): соединитель преобразует необработанные события CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow дополняет события метаданными, такими как тип изменения (вставка, обновление или удаление) и метки времени, а также автоматически управляет целевыми таблицами и эволюцией схемы.
    • Необработанные события CDC: Соединитель принимает и делает доступными необработанные события CDC. При необходимости соединитель может автоматически обнаружить схемы таблиц и зарегистрировать их в реестре схем. Используйте этот параметр, если требуется осведомленность о схеме без преобразования DeltaFlow.

    Примечание.

    На следующем снимке экрана показана Azure SQL Database CDC. Параметры обработки схем одинаковы для всех поддерживаемых соединителей источника CDC.

    Снимок экрана: шаг обработки схемы с параметрами событий DeltaFlow и Raw CDC для соединителя источника CDC.

  2. Включите ассоциацию схемы событий.

  3. Для Workspace выберите рабочую область Fabric для набора схем.

  4. Для набора схем по умолчанию выбран параметр +Create , который создает новый набор схем. Его можно изменить, чтобы выбрать существующий набор схем событий.

  5. Если вы выбрали параметр +Создать на предыдущем шаге, введите имя набора схем.

  6. На странице «Проверка и подключение» выберите «Добавить» (Eventstream) или «Подключить» (Real-Time hub).

    Скриншот с страницей проверки и подключения для Azure SQL Database CDC source.

    Для всех таблиц или выбранных таблиц в базе данных Azure SQL соединитель автообнаружает и создает схемы и регистрирует их в реестре схем.

  7. Выберите узел потока событий в середине и перейдите на вкладку "Связанные схемы " в нижней области.

    Снимок экрана: окно связанной схемы в нижней области.

Набор схем

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

  2. Выберите набор схем, созданный соединителем Azure SQL Database (CDC).

    Снимок экрана: созданный набор схем на странице

  3. Схемы отображаются в наборе схем, как показано на следующем рисунке.

    Снимок экрана: схемы в созданном наборе схем.

  4. Чтобы просмотреть версию схемы JSON, перейдите в представление схемы JSON .

    Снимок экрана: представление схемы JSON.

    Не изменяйте эти обнаруженные схемы с помощью этого редактора, так как они становятся несоответствующими схеме таблиц в источнике базы данных Azure SQL.

DeltaFlow: готовое для аналитики преобразование событий (предварительная версия)

При включении событий, готовых для аналитики, и автообновляемой схемы (DeltaFlow) коннектор предоставляет следующие возможности:

  • Фигура события, готовая к аналитике: Сырые события Debezium CDC преобразуются в табличный формат, который отражает структуру исходной таблицы. События обогащены столбцами метаданных, включая тип изменения (insertилиupdatedelete) и метку времени события.

  • Автоматическое управление таблицами назначения: при маршрутизации потоков с поддержкой DeltaFlow в поддерживаемое назначение, например в хранилище событий, целевые таблицы автоматически создаются для сопоставления схемы исходной таблицы. Вам не нужно вручную создавать или настраивать целевые таблицы.

  • Обработка эволюции схемы. При изменении исходных таблиц баз данных (например, добавляются новые столбцы или создаются таблицы), DeltaFlow автоматически обнаруживает изменения, обновляет зарегистрированные схемы и корректирует целевые таблицы соответствующим образом. Этот параметр сводит к минимуму вмешательство вручную, вызванное изменениями схемы.

    Снимок экрана: таблицы назначения Eventhouse в форме, готовой к аналитике, созданной DeltaFlow.

Примечание.

DeltaFlow (предварительная версия) в настоящее время поддерживается с Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server на соединителях источника CDC виртуальной машины и PostgreSQL CDC.

Дополнительные сведения о том, как DeltaFlow преобразует необработанные события CDC в готовые к аналитике выходные данные, включая типы операций и столбцы метаданных, см. в разделе "Преобразование выходных данных DeltaFlow".

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

  1. Вы можете увидеть добавленный источник Azure SQL Database (CDC) в вашем потоке событий в режиме Редактирования.

    Снимок экрана потока данных Azure SQL Database CDC в режиме редактирования.

  2. Чтобы реализовать этот недавно добавленный источник CDC Azure SQL Database, выберите Publish. После выполнения этих действий источник данных CDC в Azure SQL Database доступен для визуализации в представлении Live.

    Скриншот источника потокового Azure SQL Database CDC в режиме реального времени.

Настройте направления Eventstream для использования схем

В настоящее время для потоков событий со связанными схемами поддерживаются только Eventhouse, настраиваемая конечная точка и назначения производных потоков. В этом разделе показано, как добавить и настроить назначение Eventhouse, если для потока событий включены расширенные функции (например, поддержка схемы).

Примечание.

При использовании DeltaFlow (предварительная версия) с поддерживаемым источником отслеживания измененных данных (CDC) целевые таблицы в хранилище событий автоматически создаются и управляются для сопоставления структуры исходной таблицы. Вам не нужно вручную настраивать схему целевой таблицы. DeltaFlow также обрабатывает эволюцию схемы автоматически при изменении исходных таблиц.

Настройка схемы для назначения пользовательской конечной точки

  1. Выберите "Преобразовать события" или "Добавить назначение", а затем выберите CustomEndpoint.

  2. На панели настраиваемых конечных точек укажите имя назначения.

  3. Для схемы входных данных выберите схему для событий. При включении поддержки схемы для потока событий вы можете выбрать этот флажок.

Снимок экрана: панель настройки пользовательской конечной точки.

Подробные инструкции по настройке назначения настраиваемой конечной точки см. в разделе "Добавление настраиваемой конечной точки" или назначения пользовательского приложения в поток событий.

Настроить схемы для назначения eventhouse

  1. Выберите "Преобразовать события" или "Добавить назначение", а затем выберите Eventhouse.

  2. На панели eventhouse настройте следующие параметры, связанные со схемой:

    1. Для входной схемы выберите одну или несколько схем из раскрывающегося списка.

      Снимок экрана: область конфигурации дома событий с выбранной входной схемой.

      Примечание.

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

    2. Для метода создания таблицы выберите одну таблицу со всеми схемами, объединенными или отдельными таблицамидля каждой схемы в зависимости от ваших требований.

      Снимок экрана: область конфигурации дома событий с методами создания таблицы.

    3. Для записи данных выберите один из следующих параметров:

      • Только полезная нагрузка: запишите извлеченные полезные данные в таблицу. Если существует несколько входных схем, данные отправляются в несколько таблиц.
      • Метаданные и полезные данные: запись метаданных и полезных данных в одну таблицу. Примеры столбцов: source , , subjecttypeи data.

      Снимок экрана: область конфигурации дома событий с параметрами записи данных.

Подробные инструкции по настройке назначения eventhouse см. в разделе "Добавление хранилища событий в поток событий" .

Просмотр данных DeltaFlow, подготовленных для аналитики (предварительная версия)

Если вы включили анализ-подготовленные события и автоматически обновляемую схему (DeltaFlow), целевые таблицы автоматически создаются в структуре, которая отражает таблицы вашей исходной базы данных. Каждая таблица содержит исходные столбцы, а также столбцы метаданных для типа изменения и метки времени.

Снимок экрана: таблицы назначения Eventhouse, созданные DeltaFlow в форме, готовой к аналитике.

Эти таблицы можно запрашивать с помощью языка запросов Kusto (KQL) или других средств аналитики без необходимости анализировать необработанные полезные данные Debezium CDC.

::: zone-end

К другим соединителям относятся: