Типы данных обработки логов: различия между версиями

Материал из Документация Ключ-АСТРОМ
Новая страница: «Скрипт в определении процессора работает со строго типизированными данными: функции и о...»
 
Нет описания правки
 
Строка 1: Строка 1:
Скрипт в определении процессора работает со строго типизированными данными: функции и операторы принимают только объявленные типы данных. Тип назначается всем входным полям, определенным командой, <code>USING</code> а также переменным, созданным при разборе или использовании функций приведения.


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


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


 
== Дополнительные типы данных, появляющиеся после разбора ==
Кроме того, в самом скрипте процессора после синтаксического анализа могут появиться дополнительные типы данных:
Помимо перечисленных выше, в самом скрипте процессора после разбора могут появляться следующие типы данных:
{| class="wikitable"
{| class="wikitable"
!Тип данных
!Тип данных
!Описание
!Описание
|-
|-
|BYTES
|<code>BYTES</code>
|Последовательность байтов.
|Последовательность байтов.
|-
|-
|TUPLE
|<code>TUPLE</code>
|Набор данных пар «ключ-значение», значением которых может быть любой из поддерживаемых типов данных.
|Набор данных в виде пар «ключ-значение», значение которых может быть любого из поддерживаемых типов данных.
|-
|-
|VARIANT
|<code>VARIANT</code>
|Тип данных, оцениваемый динамически во время выполнения, <code>VARIANT</code> может представлять любой из примитивных типов данных.
|Тип данных, определяемый динамически во время выполнения. <code>VARIANT</code> может представлять любой из примитивных типов данных.
|-
|-
|VARIANT_ARRAY
|<code>VARIANT_ARRAY</code>
|Массив <code>VARIANT</code> типов данных.
|Массив данных типа <code>VARIANT</code>.
|-
|-
|VARIANT_OBJECT
|<code>VARIANT_OBJECT</code>
|При анализе объектов JSON создается набор пар ключ-значение с <code>STRING</code> ключами типа и <code>VARIANT</code> значениями типа <code>VARIANT_OBJECT</code>
|Набор пар «ключ-значение» с ключами типа <code>STRING</code> и значениями типа <code>VARIANT</code>. <code>VARIANT_OBJECT</code> создаётся при разборе объектов '''JSON'''.
|}
|}

Текущая версия от 18:22, 13 октября 2026

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

Скрипт в определении процессора работает со строго типизированными данными: функции и операторы принимают только объявленные типы данных. Тип присваивается всем входным полям, определённым командой 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.