Ссылки среды

Ссылки среды указывают на специальные переменные среды, определенные во время оценки выражения. Например, ссылки среды могут использоваться в выражении фильтра событий: в его состав входят переменная среды context, указывающая на контекст, в котором произошло событие, и переменная level, содержащая его критичность (подробнее об этом см. здесь).

Переменные среды определяются системой. Не существует способа задать новые переменные среды или изменить их значения.

Ссылки на переменные среды форматируются следующим образом:

env/xxx: env -- заранее определенная строка (не меняйте ее). Она нужна для указания схемы, которую вы используете (т.е. переменные среды) и, таким образом, указывает, что ссылка указывает на переменную среды. xxx - имя переменной. Переменная среды не одно и то же с переменной контекста, поэтому у нее нет пути. Она ссылается на выполняемую в данный момент операцию - вы просто вписываете ее имя.

Пример:

env/level

Данная переменная среды содержит уровень критичности текущего обрабатываемого события. В данном случае, этот пример может показаться не практичным, чтобы исправить это, нужно вставить его в Выражение SberMobile, что мы и будем делать в следующей главе.

В данной документации описание среды вычисления любого выражения содержит перечень переменных среды, доступных в процессе вычисления.

Стандартные переменные среды

Некоторые переменные определены в любой среде:

Имя переменной

Описание

count

Количество вычислений, выполненных в текущей переменной. Равняется нулю во время первого вычисления и увеличивается на 1 с каждым вычислением.

Например, если ваше выражение, ссылающееся на {env/count}, используется для рассчета значения данных для графика, вы можете вписать что-то похожее на {env/count} > 0 ? {value} - {previous/value} : null для отмены вычисления первого значения данных (потому что {previous/value} еще не определено).

previous

Результат предыдущего вычисления в текущей среде.

time

Используется в выражениях массива данных графика (см. свойства Данные, основанные на событии и Данные, основанные на переменной компонента График). Возвращает временную метку обрабатываемой на данный момент точки данных (время возникновения события или время изменения переменной).

Переменные среды time и previousTime могут использоваться для создания временных графиков значений, которые увеличиваются при каждом измерении. Например, если ссылка {incomingBytes} возвращает количество байт, полученных устройством с момента запуска, вы можете создать график трафика при помощи следующего выражения:

{previousTime} != null ? ({incomingBytes} - {previous/incomingBytes}) / ({env/time} - {env/previousTime}) : null

previousTime

Также используется в выражениях массива данных графика. Возвращает временную метку предыдущей точки данных или NULL для первой.