Типы данных обработки логов

Материал из Документация Ключ-АСТРОМ
Версия от 18:22, 13 октября 2026; IKuznetsov (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Типы данных обработки логов

Скрипт в определении процессора работает со строго типизированными данными: функции и операторы принимают только объявленные типы данных. Тип присваивается всем входным полям, определённым командой USING, а также переменным, созданным во время разбора или с помощью функций приведения типов. Каким бы ни был тип поля, являющегося частью вывода процессора, система прилагает все усилия, чтобы преобразовать его к типу, ожидаемому событием. То же самое относится к входным полям, определённым командой USING. Например, атрибут STRING со значением 123 можно легко преобразовать в тип INTEGER, но не в тип BOOLEAN.

Типы данных, поддерживаемые командой USING (ввод/вывод процессора)

Тип данных Описание
BOOLEAN Имеет только два возможных значения: true и false.
INTEGER 32-битное целое число со знаком в дополнительном коде с минимальным значением −2^31 и максимальным значением 2^31−1.
LONG 64-битное целое число в дополнительном коде. Знаковое длинное целое имеет минимальное значение −2^63 и максимальное значение 2^63−1.
DOUBLE 64-битное число с плавающей запятой двойной точности по стандарту IEEE 754. Диапазон его значений выходит за рамки данного обсуждения, но описан в разделе «Типы, форматы и значения с плавающей запятой» спецификации языка Java.
DURATION Период времени в наносекундах.
STRING Последовательность символов с заданной кодировкой.
TIMESTAMP Ссылка на момент времени с точностью до наносекунд.
IPADDR Представляет адрес IPv4 или IPv6.

Дополнительные типы данных, появляющиеся после разбора

Помимо перечисленных выше, в самом скрипте процессора после разбора могут появляться следующие типы данных:

Тип данных Описание
BYTES Последовательность байтов.
TUPLE Набор данных в виде пар «ключ-значение», значение которых может быть любого из поддерживаемых типов данных.
VARIANT Тип данных, определяемый динамически во время выполнения. VARIANT может представлять любой из примитивных типов данных.
VARIANT_ARRAY Массив данных типа VARIANT.
VARIANT_OBJECT Набор пар «ключ-значение» с ключами типа STRING и значениями типа VARIANT. VARIANT_OBJECT создаётся при разборе объектов JSON.