replication.rq
replication.rq - Топик запросов регистрации подписки репликации у поставщика
Структура сообщения
subscriptionRegistrationRequestMessage:
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/subscriptionRegistrationRequest'
examples:
- name: simple
headers:
AGENT_CONSUMER_ID: agent-fias
payload:
requestId: 00000000-0000-0000-0000-000000000000
subRequestId:
string: 00000000-0000-0000-0000-000000000000
subscriptionId: 00000000-0000-0000-0000-000000000000
datamartMnemonic: fias
sql:
string: select * from v1_addrobj
queries:
- id: 00000000-0000-0000-0000-000000000000
sql: select 1
type: DATA
isReplication:
boolean: true
- name: multiple
headers:
AGENT_CONSUMER_ID: agent-fias
payload:
requestId: 00000000-0000-0000-0000-000000000000
subRequestId:
string: 00000000-0000-0000-0000-000000000000
subscriptionId: 00000000-0000-0000-0000-000000000000
datamartMnemonic: fias
sql:
string: select * from v1_addrobj; select * from v1_house
isReplication:
boolean: true
Avro-схема сообщения
subscriptionRegistrationRequest:
schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
type: record
name: SubscriptionRegistrationRequest
namespace: ru.rtlabs.common.replication.subscription
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: sql
description: sql запрос текущей подписки для старых витрин тут может приходить массив.
default: null
type:
- 'null'
- string
- name: isReplication
description: \version 1.1\ Признак типа подписки true - подписка на репликацию, false - подписка на уведомления
default: null
type:
- 'null'
- boolean