Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Приложение ETL: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
Строка 18: Строка 18:
   "domain": "domainA.era.company.ru",
   "domain": "domainA.era.company.ru",
   "enabled": true,
   "enabled": true,
   "id": "86420117-2abb-4f92-9013-a5f832644df9",
   "id": "aced949b6a7bc80e7f6c6449188dd78a",
   "kind": "erawebsocket",
   "kind": "erawebsocket",
   "name": "DomainA@era.company.ru",
   "name": "DomainA@era.company.ru",
Строка 84: Строка 84:


==== Порядок настройки ====
==== Порядок настройки ====
[[Файл:Настройка взаимодействия.png|мини|Настройка взаимодействия]]
 
====== Создание провайдера ======
Запустите приложение ETL (для пользователя должна присутствовать роль ''etl_admin'') и создайте два провайдера данных.
Запустите приложение ETL (для пользователя должна присутствовать роль ''etl_admin'') и создайте два провайдера данных.


# Домен A. Собственный экземпляр работы приложения ETL. Укажите адрес сервера, домен и токен.
# Домен A. Собственный экземпляр работы приложения ETL. Укажите адрес сервера, домен и токен.
# Домен B. Удаленный экземпляр платформы B. Укажите адрес сервера, домен и токен.
# Домен B. Удаленный экземпляр платформы B. Укажите адрес сервера, домен и токен.
[[Файл:Настройка канала интеграции для ETL.png|мини|Настройка канала интеграции для ETL]]
Токен, необходимый для доступа к провайдеру, необходимо скопировать из приложения «Настройки», раздел «Каналы интеграции». Рекомендуем использовать токен product_layer. Скопируйте значение из поля «Локальный токен». Повторите действие для второго провайдера, указав токен удалённого Домена B.
Токен, необходимый для доступа к провайдеру, необходимо скопировать из приложения «Настройки», раздел «Каналы интеграции». Рекомендуем использовать токен product_layer. Скопируйте значение из поля «Локальный токен». Повторите действие для второго провайдера, указав токен удалённого Домена B.


Сохраните значения. Провайдеры подключаются автоматически и перейдут в статус ''connected''.  
Сохраните значения. Провайдеры подключаются автоматически и перейдут в статус ''connected''.  
[[Файл:Провайдер ETL.png|центр|безрамки|999x999пкс]]


====== Создание правил ======
Создайте правило извлечения, трансформации и загрузки данных. В данном примере мы синхронизируем в обе стороны данные справочника приложения smart/Accounts.
Создайте правило извлечения, трансформации и загрузки данных. В данном примере мы синхронизируем в обе стороны данные справочника приложения smart/Accounts.


Добавьте запись на любом из экземпляров платформы. В разделе «Мониторинг правил» проконтролируйте выполнения синхронизации в режиме реального времени при помощи WebSocket-протокола.
====== Мониторинг работы ======
[[Файл:Провайдеры.png|мини|Провайдеры]]
Добавьте запись на любом из экземпляров платформы в приложении Smart. В разделе «Мониторинг правил» проконтролируйте выполнения синхронизации в режиме реального времени при помощи WebSocket-протокола. Убедитесь, что запись была создана также в домене B.
[[Файл:Мониторинг.png|мини|Мониторинг]]
Возможно использовать более сложные правила для переноса данных из различных классов, будь то системные, продуктовые или пользовательские классы платформы.  
Возможно использовать более сложные правила для переноса данных из различных классов, будь то системные, продуктовые или пользовательские классы платформы.  
====== Важно ======
Обратите внимание, что некоторые классы невозможно использовать в ETL-приложении. Например, те, которые содержат зашифрованные пароли или хэш-данные . Также некоторые системные классы имеют запрет на изменение данных. 
[[Категория:Приложения]]
[[Категория:Приложения]]

Версия от 20:26, 29 января 2026

Общая информация

ETL (Extract, Transform, Load) — это приложения для обработки данных, которое используется для извлечения, преобразования и загрузки данных от одного провайдера (домена) к другому провайдеру (домену). При этом домены могут принадлежать одному или разным экземплярам платформы.

ETL поддерживает:

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

Общий принцип работы приложения ETL внутри Платформы с Доменом A, которое взаимодействует с другим экземпляров платформы с Доменом B.

Для работы ETL используются провайдеры и правила.

Провайдер:

{
  "domain": "domainA.era.company.ru",
  "enabled": true,
  "id": "aced949b6a7bc80e7f6c6449188dd78a",
  "kind": "erawebsocket",
  "name": "DomainA@era.company.ru",
  "serverAddress": "https://era.company.ru",
  "state": "connected",
  "statusText": "29.01.2026 20:02:21",
  "token": "72ffb7137841adb3fc04a41017ac8194"
}

Правило:

{
  "destinationProvider_id": "86420117-2abb-4f92-9013-a5f832644df9",
  "id": "c12248cf-46ee-4c66-8e51-87ebeb013fae",
  "interval": null,
  "items": [
    {
      "cancelDestinationChanges": false,
      "destination": {
        "className": "smart/Contacts"
      },
      "direction": "duplex",
      "name": "Контакты",
      "source": {
        "className": "smart/Contacts"
      }
    },
    {
      "cancelDestinationChanges": false,
      "destination": {
        "className": "smart/Accounts"
      },
      "direction": "duplex",
      "name": "Контрагенты",
      "source": {
        "className": "smart/Accounts"
      }
    },
    {
      "cancelDestinationChanges": false,
      "destination": {
        "className": "smart/Articles"
      },
      "direction": "duplex",
      "name": "Статьи",
      "source": {
        "className": "smart/Articles"
      }
    },
    {
      "cancelDestinationChanges": false,
      "destination": {
        "className": "smart/Requests"
      },
      "direction": "duplex",
      "name": "Тикеты",
      "source": {
        "className": "smart/Requests"
      }
    }
  ],
  "mode": "realtime",
  "name": "Двусторонняя связь",
  "sourceProvider_id": "a7a6fca5-db25-44d8-8f1e-26c2ebf5905e"
}

Порядок настройки

Создание провайдера

Запустите приложение ETL (для пользователя должна присутствовать роль etl_admin) и создайте два провайдера данных.

  1. Домен A. Собственный экземпляр работы приложения ETL. Укажите адрес сервера, домен и токен.
  2. Домен B. Удаленный экземпляр платформы B. Укажите адрес сервера, домен и токен.

Токен, необходимый для доступа к провайдеру, необходимо скопировать из приложения «Настройки», раздел «Каналы интеграции». Рекомендуем использовать токен product_layer. Скопируйте значение из поля «Локальный токен». Повторите действие для второго провайдера, указав токен удалённого Домена B.

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

Создание правил

Создайте правило извлечения, трансформации и загрузки данных. В данном примере мы синхронизируем в обе стороны данные справочника приложения smart/Accounts.

Мониторинг работы

Добавьте запись на любом из экземпляров платформы в приложении Smart. В разделе «Мониторинг правил» проконтролируйте выполнения синхронизации в режиме реального времени при помощи WebSocket-протокола. Убедитесь, что запись была создана также в домене B. Возможно использовать более сложные правила для переноса данных из различных классов, будь то системные, продуктовые или пользовательские классы платформы.

Важно

Обратите внимание, что некоторые классы невозможно использовать в ETL-приложении. Например, те, которые содержат зашифрованные пароли или хэш-данные . Также некоторые системные классы имеют запрет на изменение данных.