query.tp
query.tp - Топик чанков табличных параметров
Структура сообщения
datamartTableParamChunkMessage:
description: Чанк с данными табличных параметров
contentType: 'application/octet-stream'
bindings:
kafka:
key:
$ref: '#/components/schemas/datamartTableParamChunkKey'
headers:
type: object
properties:
MESSAGE_TYPE:
description: Тип сообщения
type: string
const: DatamartTableParamChunkKey:0.1
REQUEST_ID:
description: Идентификатор запроса
type: string
QUERY_DEADLINE:
description: Время в миллисекундах от эпохи, до которого запрос должен быть выполнен
type: string
format: int64
AGENT_CONSUMER_ID:
description: Мнемоника потребителя (мнемоника агента)
type: string
QUERY_MNEMONIC:
description: '<Полная мнемоника РЗ>.<версия РЗ>'
type: string
payload:
description: Бинарные данные чанка
examples:
- name: base64
headers:
MESSAGE_TYPE: DatamartTableParamChunkKey:0.1
payload:
value: JEEJNodyLO7p1pgsRHG9pEiXeYGvHW4YCl4FgrgBmu5C92iVX1PV2GZdcqsb66bx8sk=
Avro-схема Key сообщения
datamartTableParamChunkKey:
schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
type: record
name: DatamartTableParamChunkKey
namespace: datamart.query
fields:
- name: requestId
description: Уникальный идентификатор запроса
type:
type: string
logicalType: uuid
- name: subRequestId
description: Уникальный идентификатор подзапроса
type:
type: string
logicalType: uuid
- name: tableParamId
description: Идентификатор табличного параметра
type:
type: string
logicalType: uuid
- name: datamartMnemonic
description: Мнемоника витрины, к которой выполняется запрос
type: string
- name: chunkNum
description: Номер порции по порядку
type: int
minimum: 1
- name: isLast
description: Признак последнего сообщения
type: boolean
- name: streamNum
description: Номер стрима данных
type: int
minimum: 1
- name: streamTotal
description: Общее количество стримов
type: int
minimum: 1
- name: customerId
description: Мнемоника ИС Потребителя
type:
- 'null'
- string
default: null
- name: customerOgrn
description: ОГРН ИС Потребителя
type:
- 'null'
- string
default: null
- name: queryMnemonic
description: 'Мнемоника РЗ, сформированная по правилу: <мнемоника витрины>.<мнемоника РЗ>.<версия РЗ> Если запрос распределенный, то формируется по правилу: podd.<мнемоника РЗ>.<версия РЗ>'
type:
- 'null'
- string
default: null
- name: queryParams
description: Информация о запросе
type:
type: record
name: QueryParams
namespace: datamart.query
fields:
- name: sql
description: Текст SQL-запроса
type: string
- name: replyTo
description: Служебная информация маршрутизации сообщения. Ответ, формируемый витриной, обязан содержать переданное значение без каких либо искажений
type: string
- name: parameters
default: [ ]
description: Параметры к SQL запросу
type:
type: array
items:
type: record
name: QueryParameter
description: Описание параметра
fields:
- name: type
type: string
description: Тип параметра
enum:
- BIG_DECIMAL
- BINARY
- BOOLEAN
- DATE
- DOUBLE
- FLOAT
- INTEGER
- LONG
- SHORT
- STRING
- TIME
- TIMESTAMP
- name: value
description: Значение параметра
type:
- string
- 'null'
- name: namedParams
description: Именованные параметры запроса
default: [ ]
type:
type: array
items:
type: record
name: NamedParam
description: Описание именованного параметра
fields:
- name: name
description: Имя (мнемоника) параметра
type: string
- name: type
type: string
description: Тип параметра
enum:
- BIG_DECIMAL
- BINARY
- BOOLEAN
- DATE
- DOUBLE
- FLOAT
- INTEGER
- LONG
- SHORT
- STRING
- TIME
- TIMESTAMP
- name: value
description: Значение параметра
type:
- string
- 'null'
- name: tableParams
description: Табличные параметры запроса
type:
type: array
items:
type: record
name: TableParam
fields:
- name: id
description: Уникальный идентификатор
type:
type: string
logicalType: uuid
- name: name
description: Имя параметра
type: string
- name: columns
description: Описание колонок таблицы
type:
type: array
items:
type: record
description: Описание колонки
name: TableParamColumnInfo
fields:
- name: name
type: string
description: Имя колонки
- name: type
type: string
description: Тип атрибута
enum:
- BIG_DECIMAL
- BINARY
- BOOLEAN
- DATE
- DOUBLE
- FLOAT
- INTEGER
- LONG
- SHORT
- STRING
- TIME
- TIMESTAMP
examples:
- queryParams:
summary: Пример запроса с параметрами
sql: select * from v1_addrobj where oktmo = ? and name = @tbl.fullname
replyTo: agent-fias
parameters:
- type: STRING
value:
string: asdasdasd
namedParams: []
tableParams:
- id: 6bba1b55-031c-4931-94ef-daccdc203f8d
name: tbl
columns:
- name: fullname
type: STRING
requestId: 114a6659-4b7b-4a2a-8c22-d2177f91091a
subRequestId: 8c1e7130-989a-4943-b23b-75e242e9d77e
tableParamId: f3ff5c24-5039-4a00-8212-063114d6411b
datamartMnemonic: fias
chunkNum: 1
isLast: true
streamNum: 1
streamTotal: 1
customerId:
string: agent-fias
customerOgrn:
string: "1053600591197"
queryMnemonic:
string: fias.selectAllAddrobj.1.0
customerId:
string: agent-fias
customerOgrn:
string: "1053600591197"
queryMnemonic:
string: fias.selectAllAddrobj.1.0
- queryParams:
summary: Пример запроса с именованными параметрами
sql: select * from v1_addrobj where oktmo = p1 and name = @tbl.fullname
replyTo: agent-fias
parameters: []
namedParams:
- name: p1
type: STRING
value:
string: asdasdasd
tableParams:
- id: 6bba1b55-031c-4931-94ef-daccdc203f8d
name: tbl
columns:
- name: fullname
type: STRING
requestId: 114a6659-4b7b-4a2a-8c22-d2177f91091a
subRequestId: 8c1e7130-989a-4943-b23b-75e242e9d77e
tableParamId: f3ff5c24-5039-4a00-8212-063114d6411b
datamartMnemonic: fias
chunkNum: 1
isLast: true
streamNum: 1
streamTotal: 1
customerId:
string: agent-fias
customerOgrn:
string: "1053600591197"
queryMnemonic:
string: fias.selectAllAddrobj.1.0