Документация›Операторы маппера
Как читать статью оператора
Каждая статья оператора содержит:
- Вид —
трансформер(перестраивает значение) илифильтр(отбирает/отбрасывает значения до маппинга). - Обработка значения — как оператор трактует скалярный, массивный и объектный
вход:
- per-item — применяется к скаляру напрямую; над массивом обрабатывает поэлементно (элементы неподходящего типа проходят насквозь без изменений).
- whole-value — работает со значением как с единым целым независимо от его формы.
- array — ориентирован на массив; вход, не являющийся массивом, проходит насквозь без изменений (если не указано иное).
- item-filter — операторы-фильтры: массив фильтруется поэлементно; скаляр трактуется как один элемент, а не прошедший фильтр скаляр отбрасывается (становится отсутствующим, поэтому правило маппинга откатывается к своему значению по умолчанию).
- Аргументы — имя, тип (
string/number/boolean/json), его обязательность и значение по умолчанию, используемое при его отсутствии. - Поведение, крайние случаи и один разобранный Пример (
input+ аргументы →output).
Общие соглашения (верны для каждого оператора, если в статье не сказано иное):
- Несоответствие типа — это проброс, а не ошибка. Строковый оператор, получивший число, оператор массива, получивший объект, оператор даты, получивший неразбираемую строку, и т. п. возвращают вход без изменений. Операторы никогда не выбрасывают исключение на пути ingest; действительно сбойное правило откатывается согласно собственной политике ошибок.
null/ отсутствующий вход. Отсутствующий исходный путь не даёт значения; правило маппинга применяет своё значение по умолчанию до запуска трансформеров. Большинство трансформеров возвращают входnull/отсутствие без изменений. Операторы-предикаты (семействоis*) сначала приводят черезString(value), поэтомуnullстановится текстом"null".- Неизменяемость. Операторы объектов и массивов никогда не мутируют вход; они возвращают новое значение.
- Безопасность регулярных выражений. Каждый аргумент-регулярное выражение
проверяется при сохранении и повторно во время выполнения защитой от ReDoS
(шаблоны длиннее 512 символов или с вложенными неограниченными квантификаторами
вроде
(a+)+отклоняются). Отклонённый или некорректный шаблон делает оператор безопасной no-op-операцией (он возвращает вход или не срабатывает), не рискуя неконтролируемым разрастанием сопоставления. - Синонимы аргументов. Некоторые аргументы принимают альтернативные имена
(например,
dtтакже принимаетexpressionилиpath). Синонимы перечислены в таблице аргументов.
Алфавитный указатель
| Оператор | Вид | Группа |
|---|---|---|
abs |
трансформер | Числа и математика |
add |
трансформер | Числа и математика |
AppendIfNotEmpty |
трансформер | Условия и контент |
append |
трансформер | Списки и массивы |
arrayLength |
трансформер | Условия и контент |
attachmentMetadata |
трансформер | Условия и контент |
attachmentNames |
трансформер | Условия и контент |
average |
трансформер | Списки и массивы |
base64Decode |
трансформер | Конвертация и кодирование |
base64Encode |
трансформер | Конвертация и кодирование |
chunk |
трансформер | Списки и массивы |
compact |
трансформер | Списки и массивы |
compact (filter) |
фильтр | Фильтры |
count |
трансформер | Списки и массивы |
countBy |
трансформер | Списки и массивы |
dateAdd |
трансформер | Дата и время |
dateDiff |
трансформер | Дата и время |
dateSubtract |
трансформер | Дата и время |
decodeURL |
трансформер | Конвертация и кодирование |
deepMerge |
трансформер | Объекты |
defangIP |
трансформер | Сеть и IOC |
defangURL |
трансформер | Сеть и IOC |
deleteField |
трансформер | Объекты |
difference |
трансформер | Списки и массивы |
divide |
трансформер | Числа и математика |
domainExtract |
трансформер | Сеть и IOC |
drop_empty (filter) |
фильтр | Фильтры |
DT |
трансформер | Условия и контент |
emailAddress |
трансформер | Условия и контент |
emailAddressList |
трансформер | Условия и контент |
encodeURL |
трансформер | Конвертация и кодирование |
entries |
трансформер | Объекты |
escapeHTML |
трансформер | Строки |
extractDomains |
трансформер | Сеть и IOC |
extractEmails |
трансформер | Сеть и IOC |
extractHashes |
трансформер | Сеть и IOC |
extractIPs |
трансформер | Сеть и IOC |
extractURLs |
трансформер | Сеть и IOC |
filter (filter) |
фильтр | Фильтры |
first |
трансформер | Списки и массивы |
first (filter) |
фильтр | Фильтры |
firstItem |
трансформер | Условия и контент |
firstN |
трансформер | Списки и массивы |
flatten |
трансформер | Списки и массивы |
flattenDeep |
трансформер | Списки и массивы |
flattenObject |
трансформер | Объекты |
formatDate |
трансформер | Дата и время |
FormatTemplate |
трансформер | Условия и контент |
fromEpoch |
трансформер | Дата и время |
getByPath |
трансформер | Объекты |
getDay |
трансформер | Дата и время |
getDayOfWeek |
трансформер | Дата и время |
getField |
трансформер | Объекты |
getMonth |
трансформер | Дата и время |
getYear |
трансформер | Дата и время |
groupBy |
трансформер | Списки и массивы |
htmlToText |
трансформер | Строки |
If-Elif |
трансформер | Условия и контент |
If-Then-Else (filter) |
фильтр | Фильтры |
index |
трансформер | Списки и массивы |
indexBy |
трансформер | Списки и массивы |
intersection |
трансформер | Списки и массивы |
ipInCIDR |
трансформер | Сеть и IOC |
isCIDR |
трансформер | Сеть и IOC |
isDomain |
трансформер | Сеть и IOC |
isEmail |
трансформер | Сеть и IOC |
isHash |
трансформер | Сеть и IOC |
isIP |
трансформер | Сеть и IOC |
isIPv4 |
трансформер | Сеть и IOC |
isIPv6 |
трансформер | Сеть и IOC |
isPrivateIP |
трансформер | Сеть и IOC |
isURL |
трансформер | Сеть и IOC |
isAfterDate |
трансформер | Дата и время |
isBeforeDate |
трансформер | Дата и время |
isBetweenDates |
трансформер | Дата и время |
join |
трансформер | Строки |
joinComma |
трансформер | Условия и контент |
jsonStringify |
трансформер | Условия и контент |
keys |
трансформер | Объекты |
last |
трансформер | Списки и массивы |
lastItem |
трансформер | Условия и контент |
lastN |
трансформер | Списки и массивы |
MapPattern |
трансформер | Условия и контент |
Math.ceil |
трансформер | Числа и математика |
Math.floor |
трансформер | Числа и математика |
Math.round |
трансформер | Числа и математика |
max |
трансформер | Списки и массивы |
merge |
трансформер | Объекты |
min |
трансформер | Списки и массивы |
modulo |
трансформер | Числа и математика |
multiply |
трансформер | Числа и математика |
omit |
трансформер | Объекты |
padEnd |
трансформер | Строки |
padStart |
трансформер | Строки |
parseCSV |
трансформер | Конвертация и кодирование |
parseDate |
трансформер | Дата и время |
parseXML |
трансформер | Конвертация и кодирование |
pick |
трансформер | Объекты |
pluck |
трансформер | Списки и массивы |
RegexExtractAll (filter) |
фильтр | Фильтры |
refangIP |
трансформер | Сеть и IOC |
refangURL |
трансформер | Сеть и IOC |
regexReplace |
трансформер | Строки |
replace |
трансформер | Строки |
replaceAll |
трансформер | Строки |
setByPath |
трансформер | Объекты |
SetByIndex (filter) |
фильтр | Фильтры |
setField |
трансформер | Объекты |
SetIfEmpty |
трансформер | Условия и контент |
size |
трансформер | Списки и массивы |
sort |
трансформер | Списки и массивы |
splice |
трансформер | Списки и массивы |
split |
трансформер | Строки |
splitComma |
трансформер | Условия и контент |
StripChars |
трансформер | Строки |
stringCount |
трансформер | Строки |
stringReverse |
трансформер | Строки |
subtract |
трансформер | Числа и математика |
substring |
трансформер | Строки |
sum |
трансформер | Списки и массивы |
TimeComponents |
трансформер | Условия и контент |
TimeStampToDate |
трансформер | Условия и контент |
timeZoneConvert |
трансформер | Дата и время |
toArray |
трансформер | Конвертация и кодирование |
toBoolean |
трансформер | Конвертация и кодирование |
toCSV |
трансформер | Конвертация и кодирование |
toEpoch |
трансформер | Дата и время |
toFixed |
трансформер | Числа и математика |
toJSON |
трансформер | Конвертация и кодирование |
toLowerCase |
трансформер | Строки |
toMarkdownTable |
трансформер | Конвертация и кодирование |
toNumber |
трансформер | Конвертация и кодирование |
toString |
трансформер | Конвертация и кодирование |
toUpperCase |
трансформер | Строки |
trim |
трансформер | Строки |
trimEnd |
трансформер | Строки |
trimStart |
трансформер | Строки |
union |
трансформер | Списки и массивы |
unique |
трансформер | Списки и массивы |
unique (filter) |
фильтр | Фильтры |
unescapeHTML |
трансформер | Строки |
unzip |
трансформер | Списки и массивы |
urlParse |
трансформер | Конвертация и кодирование |
utcNow |
трансформер | Дата и время |
values |
трансформер | Объекты |
where_equals (filter) |
фильтр | Фильтры |
where_exists (filter) |
фильтр | Фильтры |
zip |
трансформер | Списки и массивы |
Разделы руководства
- 1. Строковые трансформеры (String)
- 2. Трансформеры списков и массивов (List & array)
- 3. Объектные трансформеры (Object)
- 4. Трансформеры даты и времени (Date & time)
- 5. Числовые и математические трансформеры (Number & math)
- 6. Трансформеры конвертации и кодирования (Conversion & encoding)
- 7. Сетевые трансформеры и IOC (Network & IOC)
- 8. Условные и контентные трансформеры (Conditional & content)
- 9. Фильтры (where-операторы)