Используйте оператор let
Пусть операторы привязывают имена к выражениям. Для остальной части области, где отображается оператор let, имя ссылается на его привязанное значение. Операторы let улучшают модульность и повторное использование, так как они позволяют разбить потенциально сложное выражение на несколько частей. Каждая часть привязана к имени с помощью инструкции let, и вместе они составляют все. Пусть операторы позволяют создавать определяемые пользователем функции и представления. Представления — это выражения, результаты которых выглядят как новая таблица.
Объявление и повторное использование переменных
Операторы let позволяют создавать переменные, которые будут использоваться в последующих выражениях. В этом примере timeOffSet и discardEventId создаются и используются в предложении where SecurityEvent.
Замечание
Возможно, потребуется увеличить timeOffset и временные диапазоны, чтобы просмотреть результаты в среде демонстрационного сайта Logs. Мы рекомендуем использовать > 30 дней, если вы не видите результаты.
let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId
Подсказка
"ago()" — это функция, которая принимает текущую дату и время и вычитает указанное значение.
Объявление динамических таблиц или списков
Операторы "let" позволяют создавать динамические таблицы или списки.
let suspiciousAccounts = datatable(account: string) [
@"\administrator",
@"NT AUTHORITY\SYSTEM"
];
SecurityEvent | where Account in (suspiciousAccounts)
let LowActivityAccounts =
SecurityEvent
| summarize cnt = count() by Account
| where cnt < 1000;
LowActivityAccounts | where Account contains "SQL"