delta.notification

delta.notification - Топик нотификаций ядра о наличии новых дельт.

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

deltaNotificationMessage:
  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/deltaNotification'
  examples:
    - name: simple
      headers:
        AGENT_CONSUMER_ID: agent-oktmo
      payload:
        requestId: 2e8c8ab2-44db-4dcb-8ae5-2365121b4e14
        subRequestId:
          string: 00000000-0000-0000-0000-000000000000
        datamartMnemonic:
          string: dm
        synId:
          int: 1
        subscriptions:
          - subscriptionId: dcf43fc7-e152-459b-8af5-48d91d4b6a21
            fromId: 100
            deltaKeySize: 1024
            snapshotKeySize: 1024

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

deltaNotification:
  schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
  type: record
  name: DeltaNotificationEvent
  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: datamartMnemonic
      description: Мнемоника витрины-источника, в которой обновились данные
      default: null
      type:
        - 'null'
        - string
    - name: synId
      description: ДЛЯ РАСПРЕДПОДПИСОК. Id новой дельты
      default: null
      type:
        - 'null'
        - int
    - name: subscriptions
      description: Список всех подписок, для которых есть новые данные
      type:
        type: array
        items:
          type: record
          name: DeltaNotificationSubscription
          fields:
            - name: subscriptionId
              description: Идентификатор подписки, для которой есть новые данные
              type:
                type: string
                logicalType: uuid
            - name: fromId
              description: \use in replicator version 1.1\ Id новой дельты
              default: null
              type:
                - 'null'
                - int
            - name: deltaKeySize
              description: размер ключей дельты в байтах
              default: 0
              type: long
            - name: snapshotKeySize
              description: Размер ключей снапшота в байтах
              default: 0
              type: long