Створення сутностей масивом у фабриці даних (Batch creation of entities in data factory v2)
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
Назва | Пояснення |
---|---|
Бізнес-назва інтеграційного розширення |
Batch creation of entities in data factory v2 |
Службова назва інтеграційного розширення |
|
Назва файлу у бібліотеці розширень |
dataFactoryConnectorBatchCreateDelegateV2.json |
1. Загальний опис
Загальне інтеграційне розширення-делегат надає можливість взаємодіяти з REST API реєстру та створювати сутності у базі даних масивом як LIST
або CSV
транзакційно — тобто зберігаються або усі дані, або жодні. Делегат налаштовується у сервісних задачах (Service Task) бізнес-процесу за допомогою шаблону Batch creation of entities in data factory v2.
Максимальна кількість записів для завантаження до БД через цей делегат — 50:
|
Детальніше про застосування делегата у бізнес-процесах ви можете переглянути на сторінці Моделювання бізнес-процесу для завантаження даних з CSV-файлу масивом у БД. |
2. Налаштування шаблону у бізнес-процесі
При налаштуванні делегата у додатку Camunda Modeler, переконайтеся, що папка із застосунком resources > element-templates містить файл dataFactoryConnectorBatchCreateDelegateV2.json. |
-
Відкрийте Service Task, натисніть Open Catalog та оберіть шаблон зі списку, після чого натисніть Apply.
-
У полі
Name
вкажіть назву задачі. -
У полі
Resource
вкажіть ресурс, назву ендпоінту для таблиці, куди зберігатимуться дані. Наприклад,diplomas
. -
У полі
Upload type
оберіть формат завантаження даних зі списку —CSV
, абоLIST
.Для обох типів,
CSV
таLIST
, конфігурація конектора є однаковою. Відрізнятиметься лише${payload}
, який зазвичай формується у попередній скрипт-задачі процесу та передається до сервісної задачі як змінна${payload}
.-
Якщо необхідно завантажити дані масивом у CSV-форматі, то
payload
може формуватися у скрипті наступним чином:Приклад формування payload (CSV)set_transient_variable('payload', submission('signCsvFileActivity').formData.prop('csvFile').elements().first())
Тобто отримуємо список елементів
csvFile
із форми (formData
) за допомогою JUEL-функціїsubmission()
, формуємо об’єктpayload
й надалі використовуємо як змінну при налаштуванні делегата. СSV-дані на форму можна завантажити за допомогою компонентаContent
(детальніше про моделювання форм — за посиланням). -
Якщо необхідно завантажити дані масивом як
LIST
, тоpayload
може формуватися у скрипті наступним чином:Приклад формування масиву даних (LIST)var data= ''' [ { "data":"test data", "description":"some description" }, { "data2":"test data2", "description2":"some description2" } ] ''' execution.setVariable("jsonArray", S(data))
Створюємо рядок
data
, який містить JSON-масив із двома об’єктами. Кожен об’єкт містить пари ключ-значення — дані, які беруться з UI-форми. Результат записуємо до змінноїjsonArray
, яку потім використовуємо при налаштуванні делегата. дані на форму можна завантажити як масив за допомогою компонентаEdit Grid
(детальніше про моделювання форм — за посиланням).
-
-
У полі
Payload
введіть дані для створення, що передаються як тіло запита. Наприклад,${payload}
. -
У полі
X-Access-Token source
вкажіть токен доступу користувача до системи, під яким виконується операція. Наприклад,${completer('signCsvFileActivity').accessToken}
. -
У полі
X-Digital-Signature source
вкажіть джерело цифрового підпису. Наприклад,${sign_submission('signCsvFileActivity').signatureDocumentId}
. -
У полі
Result variable
вкажіть будь-яке ім’я для вихідного параметра (за замовчуванням —response
).