delta.in.rq

delta.in - Топик чанков дельт репликации на применение у поставщика.

Структура сообщения

deltaResultChunkMessage:
  description: Чанк с данными дельты репликации
  contentType: 'application/octet-stream'
  bindings:
    kafka:
      key:
        $ref: '#/components/schemas/deltaResultChunkKey'
  headers:
    type: object
    properties:
      AGENT_CONSUMER_ID:
        description: Идентификатор агента потребителя
        type: string
  payload:
    description: Бинарные данные чанка
  examples:
    - name: base64
      headers:
        AGENT_CONSUMER_ID: agent_fias
      payload:
        value: JEEJNodyLO7p1pgsRHG9pEiXeYGvHW4YCl4FgrgBmu5C92iVX1PV2GZdcqsb66bx8sk=

Avro-схема сообщения

deltaResultChunkKey:
  schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
  type: record
  name: DeltaResultChunk
  namespace: ru.rtlabs.common.replication.delta
  fields:
    - name: requestId
      description: Уникальный идентификатор распределенного
      type:
        type: string
        logicalType: uuid
    - name: subRequestId
      description: Уникальный идентификатор подзапроса
      default: null
      type:
        - 'null'
        - type: string
          logicalType: uuid
    - name: sourceDatamart
      description: Наименование датамарта источника
      default: null
      type:
        - 'null'
        - string
    - name: subscriptionId
      description: Уникальный идентификатор подписки
      type:
        type: string
        logicalType: uuid
    - name: synId
      description: Идентификатор синхронизации витрины
      type: int
    - name: sql
      description:sql, для которого возвращается дельта
      default: null
      type:
        - 'null'
        - string
    - name: minSynId
      description: Номер первой передаваемой в этом пакете дельты
      default: null
      type:
        - 'null'
        - int
    - name: maxSynId
      description: Номер последней передаваемой в этом пакете дельты
      default: null
      type:
        - 'null'
        - int
    - name: synTime
      description:Время дельты
      default: 0
      type: long
    - name: streamNumber
      description: Номер стрима данных
      type:
        - int
        - 'null'
    - name: streamTotal
      description: Общее количество стримов
      default: 1
      type:
        - int
        - 'null'
    - name: chunkNumber
      description: Номер порции по порядку
      type: int
    - name: isLastChunk
      description: Признак последнего сообщения
      type: boolean
    - name: replicaHash
      description: Чек-сумма реплики после применения дельты с данным
      default: null
      type:
        - 'null'
        - string
  examples:
    - requestId: 00000000-0000-0000-0000-000000000000
      subRequestId:
        string: 00000000-0000-0000-0000-000000000000
      subscriptionId: 00000000-0000-0000-0000-000000000000
      sourceDatamart:
        string: dm
      sql:
        string: 'select * from v1_addrobj'
      minSynId:
        int: 10
      maxSynId:
        int: 10
      synTime: 1000
      streamNumber:
        int: 1
      streamTotal:
        int: 1
      chunkNumber: 1
      isLastChunk: true
      replicaHash:
        string: '123456789'