.. _report.rs: report.rs ~~~~~~~~~ .. attention:: Название топика может быть изменено на этапе внедрения! Позитивный ответ на запрос - содержимое сгенерированных файлов и метаданные для них, передается только в случае успешного выполнения генерации. Один запрос - один ответ. Один ответ - несколько сообщений. Одно сообщение - один chunk. **Структура сообщения** .. code-block:: yaml datamartExecuteQueryResultChunkMessage: description: Чанк с данными по исполнению запроса contentType: 'application/octet-stream' bindings: kafka: key: $ref: '#/components/schemas/datamartExecuteQueryResultChunk' headers: type: object properties: MESSAGE_TYPE: description: Тип сообщения type: string const: DatamartExecuteQueryResultChunk:0.1 payload: description: Бинарные данные чанка examples: - name: base64 headers: MESSAGE_TYPE: DatamartExecuteQueryResultChunk:0.1 payload: value: JEEJNodyLO7p1pgsRHG9pEiXeYGvHW4YCl4FgrgBmu5C92iVX1PV2GZdcqsb66bx8sk= **Avro-схема Key сообщения** .. code-block:: yaml datamartExecuteQueryResultChunk: schemaFormat: 'application/vnd.apache.avro;version=1.9.0' type: record name: QueryResultChunk namespace: datamart.query fields: - name: requestId description: Уникальный идентификатор запроса type: type: string logicalType: uuid - name: subRequestId description: Уникальный идентификатор подзапроса type: type: string logicalType: uuid - name: replyTo description: Служебная информация маршрутизации сообщения. Заполняется соответсвующим значением из запроса type: string - name: chunkNumber description: Номер порции по порядку type: int minimum: 1 - name: isLastChunk description: Признак последнего сообщения type: boolean - name: streamNumber description: Номер стрима данных minimum: 1 type: - int - "null" - name: streamTotal description: Общее количество стримов minimum: 1 type: - int - "null" - name: isFragmented description: Признак присутствия в чанке неполных строк (строк, которые были разбиты на несколько чанков) type: boolean - name: uncompressedSize description: Оригинальный размер чанка в байтах type: int minimum: 0 examples: - requestId: 2e8c8ab2-44db-4dcb-8ae5-2365121b4e14 subRequestId: 608c5a5a-01d4-4439-8220-dda41a8519fe replyTo: agent-fias chunkNumber: 1 isLastChunk: true streamNumber: int: 1 streamTotal: int: 1 isFragmented: false uncompressedSize: 10 **Avro-схема Value (для report.rs она универсальная)** .. code-block:: yaml { "type": "record", "name": "QueryResultRow", "namespace": "datamart.query", "fields": [ { "name": "DocType", "type": "string" }, { "name": "FileName", "type": "string" }, { "name": "Content", "type": "bytes" }, { "name": "Meta", "type": ["string", "null"] } ] }