Процессор обработки входных данных =================================== Используется для преобразования и обработки данных, приходящих из внешних систем. Публичные методы ----------------- insert_messages_from_kafka ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Метод, предназначенный для вставки данных из **Kafka** в спейсы роли *storage*. Требует для работы наличие ``schema_registry``, которое предоставляет схемы *avro*. *Параметры:* * ``messages`` -- массив сообщений Kafka, которые представляют собой lua-таблицу структуры: .. literalinclude:: examples/kafka_message.json :language: json * ``parse_key_function_str`` -- имя метода, использующегося для парсинга ключа; * ``parse_value_function_str`` -- имя метода, использующегося для парсинга значений. *Возвращаемое значение:* Возвращает результат обработки данных из Kafka. Выходной формат: .. literalinclude:: examples/kafka_message_parsing_result.json :language: json *Конфигурация:* Использует параметры из :doc:`настроек топиков кафки <../Configuration/Kafka_topics/index>` и :doc:`настроек schema_registry <../Configuration/Schema_registry_settings/index>`. load_csv_lines ^^^^^^^^^^^^^^^^^ Метод, предназначенный для вставки строк *csv* в спейсы роли *storage*. *Параметры:* * ``space_name`` -- имя спейса, куда производится вставка; * ``lines`` -- массив строк csv для вставки. *Возвращаемое значение:* * *true* -- при успешной вставке; * *false,error* -- при ошибке. get_metric ^^^^^^^^^^^ Метод, предназначенный для передачи метрик данной роли в систему сбора метрик. *Возвращаемое значение:* Набор метрик в формате *JSON*. Приватные методы ----------------- parse_avro ^^^^^^^^^^^ Метод, предназначенный для разбора *avro* и преобразования его в формат, необходимый для вставки в *storage*. *Параметры:* * ``schema`` -- имя схемы для запроса в schema_registry; * ``value`` -- значение для вставки в формате avro. *Возвращаемое значение:* * *true* -- при успешной загрузке; * *false,error* -- при ошибке. load_avro ^^^^^^^^^^^ Метод, предназначенный для загрузки данных из ``parse_avro`` в *storage*. *Параметры:* * ``space_name`` -- имя спейса, куда производится вставка строк; * ``lines`` -- строки, которые необходимо вставить. *Возвращаемое значение:* * *true,разобранные данные* -- при успешном разборе; * *false,error* -- при ошибке. prepare_kafka_message_for_insert ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Метод, предназначенный для предварительного разбора данных из ``insert_messages_from_kafka``. *Параметры:* * ``topic`` -- имя топика Kafka, откуда пришли данные; * ``data`` -- данные для вставки в *storage*; * ``parse_function`` -- функция для разбора данных. *Возвращаемое значение:* * *true,разобранные данные* -- при успешном разборе; * *false,error* -- при ошибке. get_function_by_name ^^^^^^^^^^^^^^^^^^^^^^ Метод, предназначенный для возврата функции по ее имени. *Параметры:* * ``function_name`` -- имя функции для поиска в скоупе; *Возвращаемое значение:* Функция или nil.