replication.in.rq
replication.in - Топик запросов к витрине потребителя на формирование хранилищ реплик.
Структура сообщения
createReplicationStorageRequestMessage:
description: Запрос к витрине потребителя на формирование хранилища реплик
schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
bindings:
kafka:
key:
type: string
format: uuid
description: Уникальный идентификатор подзапроса
headers:
type: object
properties:
AGENT_CONSUMER_ID:
description: Идентификатор агента потребителя
type: string
payload:
$ref: '#/components/schemas/createReplicationStorageRequest'
examples:
- name: replication
headers:
AGENT_CONSUMER_ID: agent-oktmo
payload:
requestId: 2e8c8ab2-44db-4dcb-8ae5-2365121b4e14
subRequestId:
string: 00000000-0000-0000-0000-000000000000
subscriptionId: dcf43fc7-e152-459b-8af5-48d91d4b6a21
datamartMnemonic: oktmo
lastSynId: 10
table:
tableId:
string: 00000000-0000-0000-0000-000000000000
tableName:
string: tab
sql:
string: select * from v1_addrobj
fields:
- name: oktmo
type: VARCHAR
length: null
precision: null
scale: null
primaryKey: null
shardingKey: null
Avro-схема сообщения
createReplicationStorageRequest:
schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
type: record
name: CreateReplicationStorageRequest
namespace: ru.rtlabs.common.replication.storage
fields:
- name: requestId
description: Уникальный идентификатор запроса регистрации
type:
type: string
logicalType: uuid
- name: subRequestId
description: Идентификатор подзапроса, идентифицирует одно взаимодействие типа запрос-ответ
default: null
type:
- 'null'
- type: string
logicalType: uuid
- name: subscriptionId
description: Уникальный идентификатор подписки
type:
type: string
logicalType: uuid
- name: datamartMnemonic
description: Наименование целевого датамарта, приходит в ПОДД в момент регистрации подписки через ЕИП
type: string
- name: lastSynId
description: Последний id синхронизации в витрине
type: int
default: 0
- tables:
description: Структура таблиц хранения реплик
default: []
type:
type: array
items:
type: record
name: ReplicationTableInfo
namespace: ru.rtlabs.common.replication.storage
fields:
- name: tableId
description: Идентификатор таблицы
default: null
type:
- 'null'
- type: string
logicalType: uuid
- name: tableName
description: Наименование таблицы
type:
- 'null'
- type: string
- name: sql
description: sql, для которого должна быть создана таблица
default: null
type:
- 'null'
- type: string
- name: fields
description: Поля таблицы
type:
type: array
items:
type: record
name: ReplicationFieldInfo
namespace: ru.rtlabs.common.replication.storage
description: Описание поля таблицы
fields:
- name: name
description: Имя поля
type: string
- name: type
description: Тип поля
type: string
- name: length
description: Максимальная длина строки, если пусто, то нет ограничений
type:
- int
- 'null'
- name: precision
description: Количество значимых цифр у decimal и numeric. Т.е. количество в целой части + количество в дробной части. Если пусто, то без размера
type:
- int
- 'null'
- name: scale
description: \use only PODD\ Масштаб decimal и numeric. Т.е. количество значимых цифр в дробной части. Если пусто, то нет дробной части
default: null
type:
- 'null'
- int
- name: primaryKey
description: Порядковый номер поля (начиная с 0) в составе первичного ключа. null - если не входит в состав первичного ключа
type:
- int
- 'null'
- name: shardingKey
description: Порядковый номер поля (начиная с 0) в составе ключа шардирования. null - если не входит в состав ключа шардирования
type:
- int
- 'null'