IN Migration Kafka примеры
Пример мигрирование поле
Термин: Бизнес-объект - БО
В дальнейшем уроке буду использовать данный термин для обозначения Бизнес-объекта
Давайте создадим бизнес-объект Клиент с полями ИИН, ИМЯ, ФАМИЛИЯ. ИИН - уникальное поле.
Для начало надо нажать на карандашик которая находиться в правом верхнем углу (серый карандаш).
После нажатия карандаш становиться синим, это означает что вы находитесь в режиме редактирования, данном режиме можно создать бизнес объект
Убедившись что карандаш стал синим, нажимаем на зелёный крест, который добавляет новый бизнес объекты и прочее
Появиться окошка и нажимаем на Бизнес-объект
Появиться пустой БО
Давайте переименуем название БО на Клиент-а, для этого надо нажать на Наименование
Осталось добавить поля как мы обговаривали ИИН, ИМЯ, ФАМИЛИЯ давайте добавим. В Элементах-страницы находиться поля Число, двойным нажатием на данное поле оно зарегистрирует в БО.
Результат:
Надо переименовать название добавленного поле на ИИН и сохранить.
Теперь добавим 2 тестовых поле для Имени и Фамилий.
Надо переименовать название добавленных полей на ИМЯ, ФАМИЛИЯ и сохранить.
Сохраняем изменения нажатием на кнопку СОХРАНИТЬ.
После надо изменить код БО, и полей.
С начало изменим код самого БО, для этого надо нажать на шестиугольник которая находиться в правом верхнем углу.
Проставляем код который мы хотим, допустим будет "Client".
Загорелась зеленая кнопка СОХРАНИТЬ и нажимаем на него.
На этом моменте мы изменили код у БО на "Client".
Осталось изменить коды полей данного БО, у каждого поле есть свой настройки находиться правее у поля.
Нажимаем на шестерёнку.
После нажатия должна появиться окошка настроек.
Далее надо кликнуть изменить код.
Код данного поле "IIN" такой код поля нас вполне устраивает.
Точно также надо проделать с остальными полями.
Давайте поменяем код у поля ИМЯ, для этого также нажимаем на шестерёнку у плоя ИМЯ затем кликаем на "Изменить код".
Код данного поле "IMYa" такой код поля нас не устраивает, меняем на "NAME"".
Изменили теперь сохраняем.
Осталось только поле ФАМИЛИЯ давайте приступим.
Для этого точно так же как и у остальных полей нажимаем на шестерёнку у поля ФАМИЛИЯ, далее кликаем изменить код.
Код данного поле "FAMILIYA" такой код поля нас не устраивает, меняем на "LASTNAME".
После того как изменили код на "LASTNAME" нажимаем сохранить.
Поздравляю мы полностью подготовили БО Клиент для миграций через кафку
Давайте сформируем JSON для БО Клиент.
Как мы уже знаем,
У БО Клиент код равен "Client",
Код поля ИИН равен "IIN",
Код поля ИМЯ равен "NAME",
Код поля ФАМИЛИЯ равен "LASTNAME".
в recordId передаем рандомное значение.
в externalId передаем иднетификатор из вашей системы, если таковы имеются.
в boCode передаем код нашего БО которое мы определили "Client".
в fields имеет 2 значения "code", "apiValue".
в code передаем код поле ИМЯ, как мы уже определили код поле равен "NAME"
в apiValue передаем имя "Сергей".
Так как fields это массив передаем код и значения для полей ФАМИЛИЯ и ИИН,
как описано выше.
в state можем прописать такие значения как "ACTUAL","REMOVED", "ARCHIVED", "TEST".
Формируем JSON.
{"recordId": "random-value",
"externalId": "bfsseVCjGC225bM@",
"boCode": "Clinet",
"fields": [
{
"code": "NAME",
"apiValue": "Сергей"
},
{
"code" : "LASTNAME",
"apiValue" : "Иванов"
},
{
"code" : "IIN",
"apiValue" : "17"
}
],
"state": "ACTUAL"}
Надо создать топик для кафки
Отправляем сформированный JSON в топик которую вы создали
Осталось сохранить ваш топик в настройках MyBPM.
Как сохранить топики в настройках MyBPM?
1) В меню кликнуть на Настройки.
2) Далее появиться окошка настроек.
3) Кликнуть на IN Миграция.
4) Заполнить поле Список топиков топиками которые вы уже за ранее создали.
5) После заполнение нажмите сохранить.
Система уже подписалась на ваши топики и готов мигрировать
Результат, появиться новая запись Клиента с ИИН 17, ИМЯ Сергей, ФАМИЛИЯ Иванов.
Как мигрировать вложенный бизнес объект?
Допустим у нас есть БО Школа и Ученики. Школа может иметь много учеников, получается ONE TO MANY connection.
Структура Школы (Номер, Название, Ученик)
Структура Ученика (Имя, Фамилия, Ид)
Ид уникальное поле с помощью данного поле будем мигрировать учеников в БО Школу
С начало надо смигрировать ученика.
Описанном выше пример с клиентом, мы уже знаем как мигрировать простые Бо здесь точно так же.
Надо получить коды полей и Бо.
Код Бо ученика я поставил - "student"
Код поле Имя - "name"
Код поле Фамилия - "surname"
Код поле Ид - "student_id"
Осталось сформировать JSON и отправить в топик миграций.
var jsonStudent1 = {
"recordId": "random-value",
"externalId": "7fq@eZ1kpg0iwHVV",
"boCode": "student",
"fields": [
{
"code": "name",
"apiValue": "Армэн"
},
{
"code" : "surname",
"apiValue" : "Турсынбек"
},
{
"code" : "student_id",
"apiValue" : "1"
}
],
"state": "ACTUAL"
}
var jsonStudent2 = {
"recordId": "random-value",
"externalId": "Iqn5iMZcg~M1I5o0",
"boCode": "student",
"fields": [
{
"code": "name",
"apiValue": "Азамат"
},
{
"code" : "surname",
"apiValue" : "Утелхан"
},
{
"code" : "student_id",
"apiValue" : "2"
}
],
"state": "ACTUAL"
}
Отправляем сформированный JSON в топик миграций если вы сделали все правильно должно появится две инстанций ученика.
Далее надо смигрировать школу, формируем JSON.
Код Бо Школа - "school"
Код поле Номер - "number"
Код поле Название - "name"
Код поле Ученик - "student"
var schoolJson = {
"recordId": "jklhdfsksdfjkg",
"externalId": "MVLFsYhLv5eVbkXE",
"boCode": "school",
"fields": [
{
"code": "number",
"apiValue": "133"
},
{
"code": "name",
"apiValue": "среднеобразовательная школа"
}
],
"boFields": [
{
"fieldCode": "student",
"toBoCode": "student",
"toFieldCode": "student_id",
"apiValue": "1"
},
{
"fieldCode": "student",
"toBoCode": "student",
"toFieldCode": "student_id",
"apiValue": "2"
}
],
"state": "ACTUAL"
}