.. _replication_in_rq: replication.in.rq ~~~~~~~~~~~~~~~~~ ``replication.in`` - Топик запросов к витрине потребителя на формирование хранилищ реплик. **Структура сообщения** .. code-block:: yaml 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-схема сообщения** .. code-block:: yaml 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'