Правила в SSM

Правила в SSM состоят из четырех частей:

<objects>: <trigger> | <conditions> | <commands>

В таблицах ниже описаны возможные значения для объектов, триггеров и условий. Команды описаны в разделе Действия в SSM.

Дополнительная информация о синтаксисе правил доступна в статье Определение правил в SSM, а более сложные примеры использования правил можно найти в статье Примеры использования правил в SSM.

Свойства объекта file
Свойство Аббревиатура Описание

accessCount(interval)

ac

Количество доступов к файлу за выбранный временной интервал

accessCountTop(interval,N)

acTop

Верхнее значение N для количества доступов за выбранный временной интервал

accessCountBottom(interval,N)

acBot

Нижнее значение N для количества доступов за выбранный временной интервал

accessCountTopOnStoragePolicy(interval, N, "$StoragePolicy")

acTopSp

Самое верхнее значение N для количества доступов с учетом политики хранения. Поддерживаемые политики хранения HDFS:

  • COLD

  • WARM

  • HOT

  • ONE_SSD

  • ALL_SSD

  • LAZY_PERSIST

accessCountBottomOnStoragePolicy(interval,N, "$StoragePolicy")

acBotSp

Самое нижнее N для количества доступов относительно политики хранения

age

 — 

Время с момента последнего изменения до настоящего момента

atime

 — 

Время последнего доступа

blocksize

 — 

Размер блока файла

ecPolicy

 — 

Политика erasure coding файла

inCache

 — 

Параметр, указывающий на нахождение файла в кеш-хранилище

isDir

 — 

Параметр, указывающий на то, является ли файл директорией

length

 — 

Размер файла в байтах. Поддерживается только чисто цифровое значение, которое указывает количество байт

mtime

 — 

Время последнего изменения файла

path

 — 

Путь к файлу в HDFS

storagePolicy

 — 

Политика хранения файла

unsynced

 — 

Параметр, указывающий на то, что файл не синхронизирован

Условие может включать одно из двух возможных значений времени:

  • <time> — точное время в формате "yyyy-MM-dd HH:mm:ss:ms", now (сейчас) или now+<TimeInterval> (сейчас+<TimeInterval>). Например, "2017-07-29 23:00:00", now+7day.

  • <TimeInterval> — временной интервал, описанный как число и единица измерения времени (5sec, 5min, 5day) или в формате <time> - <time>, например, now - "2016-03-19 23:00:00".

Условия
Значение Описание Пример

at <time>

Выполнять правило в указанное время

at "2017-07-29 23:00:00" at now

every <TimeInterval>

Выполнять правило с указанной частотой

every 1min

from <Time> [To <Time>]

Используется вместе с условием every для указания временного диапазона, когда нужно выполнять правило

every 1day from now every 1min from now to now+7day

Условные операторы
Оператор Описание Пример

Логический оператор

and, or, not (и, или, не)

accessCount(1min) > 0 and length = 5KB

Цифровой оператор

+, -, *, /, %

acTop - acBot > 0

Оператор сравнения

>, >=, <, <=, ==, !=

accessCount(1min) > 0

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней