Синхронизация данных в средах Dataverse с помощью Power Platform

В этой эталонной архитектуре показано, как синхронизировать основные данные между двумя средами Dataverse с помощью Power Automate и потоков данных в Power Platform. Он демонстрирует шаблон синхронизации "один к одному", где одна среда выступает в качестве авторитетного источника, а другая получает данные.

Tip

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

Диаграмма архитектуры

Схема синхронизации мастер-данных из первичной среды в вторичную среду Dataverse с использованием облачных потоков Power Automate и потоков данных Power Platform.

Рабочий процесс

Ниже описан рабочий процесс, показанный на схеме архитектуры примера:

  1. Синхронизация, управляемая событиями, с помощью Power Automate

    • Операции CRUD (создание, чтение, обновление, удаление) в основной среде Dataverse активируют потоки Power Automate.

    • Синхронизация на основе событий использует двухступенчатую цепочку потоков:

      1. Облачный поток отправляет HTTP POST в опубликованную конечную точку.
      2. Облачный поток подписчика запускается через веб-перехватчик, обрабатывает полезные данные и почти в реальном времени применяет обновление во вторичной среде Dataverse.
    • Конечные точки параметризованы для управления жизненным циклом приложений (ALM), а группы безопасности управляют доступом.

  2. Массовая синхронизация с помощью потоков данных

    • Вторичная среда Dataverse содержит потоки данных.

    • Каждый поток данных подключается к основной среде Dataverse в качестве источника данных.

    • Потоки данных выполняются по фиксированному расписанию (например, ночью или после успешного выполнения другого потока данных) или по запросу (например, для начальной настройки).

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

    • Поля состояния управляются с помощью выделенного столбца "Состояние синхронизации". Поток Power Automate обновляет фактическое поле состояния соответствующим образом. Этот поток выполняется после потока данных и требуется, так как поток данных не может изменять состояние строки или удалять записи, которые удалены (отсутствуют) в основной среде Dataverse.

  3. Обработка ошибок и сверка

    • Ночные потоки данных в вторичной среде исправляют пропущенные или неудачные обновления, управляемые событиями.

    • Для решения проблем с качеством данных может потребоваться вручное вмешательство (например, отсутствующие ключи).

Components

  • Microsoft Dataverse: поддерживает требование двух сред.

  • Потоки данных для Power Platform: идеально подходят для массовых операций, таких как начальное заполнение и синхронизация данных. Используйте массовое извлечение, преобразование и загрузку (ETL) для запланированной синхронизации, которая настроена во вторичной среде.

  • Облачные потоки Power Automate: предоставление быстрых обновлений, связанных с записями, и устранение ограничений потоков данных. Облачные потоки могут запускать поток данных при успешном завершении другого потока данных (например, когда одна таблица содержит подстановочное поле с ссылкой на другую, и указанная запись уже должна существовать в вторичной среде Dataverse), отправлять сообщение об ошибке при сбое потока данных, обновлять статусы записей и удалять записи.

  • Группы безопасности и служебные учетные записи: обеспечивают управление доступом и контроль прав собственности.

Сведения о сценарии

Эта архитектура предназначена для связи "один к одному": одна среда управления главными данными (MDM), связанная с другой одной средой. Сценарии, в которых одна эталонная среда должна синхронизироваться с несколькими другими средами, требует более масштабируемого или распределенного решения.

Бизнес-проблемы

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

Использование виртуальных таблиц невозможно, если таблицы вторичной системы уже существуют и требуют безопасности на уровне строк.

Пример варианта использования

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

Отдельный отдел в одной организации отвечает за несколько финансовых процессов и процессов примирения. Чтобы упростить эти процессы, отдел хочет создать собственное приложение на основе модели в изолированной среде Dataverse. Однако их приложение по-прежнему требует доступа к базовым основным данным, таким как сведения об отеле и номере.

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

Внедрение финансового приложения в основную среду MDM не является вариантом. Разрешение финансовым специалистам или администраторам входа в среду MDM раскрывает доступ к соединителям, решениям, API-разрешениям и конфиденциальным данным, которые должны оставаться доступными только для команды разработки MDM.

Эти требования привели организацию к внедрению архитектуры синхронизации, описанной в этой статье.

Созданная ценность

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

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

Так как архитектура адаптирована для связи среды "один к одному", она сводит к минимуму затраты и повышает прозрачность. Это идеально подходит для организаций, которым требуется простая, надежная синхронизация основных данных без масштабного управления многослойными средами.

Considerations

Эти соображения реализуют основы Power Platform Well-Architected — набора руководящих принципов, повышающих качество рабочей нагрузки. Дополнительные сведения см. в разделе Microsoft Power Platform Well-Architected.

Reliability

  • Ночные потоки данных обеспечивают согласованность.

  • Потоки, управляемые событиями, обеспечивают быстрые обновления.

  • Мониторинг вручную обнаруживает проблемы с качеством данных.

Безопасность

  • Учетные записи служб и группы безопасности для управления доступом. При использовании потоков данных нельзя назначать субъекты-службы в качестве владельцев.

  • Параметризованные конечные точки HTTP для совместимости ALM.

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

Операционная эффективность

  • Автоматическое планирование и оркестрация потоков данных.

  • Мониторинг и оповещение о сбое синхронизации.

Эффективность работы

  • Потоки данных, оптимизированные для массовых операций.

  • Потоки Power Automate на основе событий сводят к минимуму задержки при критических обновлениях на уровне записей. При проектировании событийных потоков убедитесь, что объем действий и параллелизм остаются в пределах ограничений службы Power Automate. Высокочастотное действие CRUD (создание, чтение, обновление, удаление) может активировать регулирование, особенно в сценариях, когда потоки выполняют десятки тысяч действий в день. Для критически важных для бизнеса или высоконагруженных интеграций используйте подходящую лицензию Power Automate, чтобы увеличить лимиты пропускной способности и избежать неожиданного регулирования. Этот подход снижает риски эскалации и обеспечивает прогнозируемую производительность.

Оптимизация взаимодействия

  • Требует минимального вмешательства вручную.

  • Четко разделяет массовые и управляемые событиями синхронизации.

Соавторы

Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.

Основные авторы: