Usare l'istruzione let

Completato

Le istruzioni let associano i nomi alle espressioni. Per la parte restante dell'ambito in cui appare l'istruzione let, il nome fa riferimento al relativo valore associato. Le istruzioni let migliorano la modularità e le possibilità di riutilizzo perché consentono di suddividere in più parti un'espressione potenzialmente complessa. Ogni parte è associata a un nome tramite l'istruzione let e la combinazione delle parti costituisce l'intero elemento. Le istruzioni let consentono di creare viste e funzioni definite dall'utente. Le viste sono espressioni i cui risultati hanno l'aspetto di una nuova tabella.

Dichiarare e riutilizzare le variabili

Le istruzioni let consentono di creare variabili da usare nelle istruzioni successive. In questo esempio le variabili timeOffSet e discardEventId vengono create e usate come parte della clausola "where" SecurityEvent.

let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId

Suggerimento

"ago()" è una funzione che accetta la data e l'ora correnti e sottrae il valore fornito.

Dichiarare tabelle o elenchi dinamici

Le istruzioni let consentono di creare tabelle o elenchi dinamici.

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"