Widoki

Widok to tabela wirtualna oparta na zestawie wyników zapytania język zapytań Kusto (KQL).

Podobnie jak w przypadku rzeczywistych tabel, widoki organizują dane z wierszami i kolumnami i uczestniczą w zadaniach obejmujących rozpoznawanie nazw tabel z symbolami wieloznacznymi, takich jak union * i wyszukiwanie * scenariusze. Jednak w przeciwieństwie do rzeczywistych tabel widoki nie utrzymują dedykowanego magazynu danych. Zamiast tego dynamicznie reprezentują wynik zapytania.

Jak zdefiniować widok

Widoki są definiowane za pomocą funkcji zdefiniowanych przez użytkownika, które są dostępne w dwóch formach: funkcje zdefiniowane przez zapytanie i funkcje składowane. Aby kwalifikować się jako widok, funkcja nie musi akceptować żadnych argumentów i zwracać wyrażenie tabelaryczne jako dane wyjściowe.

Aby zdefiniować funkcję zdefiniowaną przez zapytanie jako widok, określ view słowo kluczowe przed definicją funkcji. Aby zapoznać się z przykładem, zobacz Widok zdefiniowany przez zapytanie.

Aby zdefiniować funkcję przechowywaną jako widok, ustaw view właściwość na true wartość podczas tworzenia funkcji. Aby zapoznać się z przykładem, zobacz Widok przechowywany. Aby uzyskać więcej informacji, zobacz polecenie .create function.

Przykłady

Widok zdefiniowany przez zapytanie

Następujące zapytanie definiuje dwie funkcje: T_view i T_notview. Wyniki zapytania pokazują, że tylko T_view jest rozpoznawane przez odwołanie wieloznaczne w operacji unii.

let T_view = view () { print x=1 };
let T_notview = () { print x=2 };
union T*

Widok przechowywany

Poniższe zapytanie definiuje przechowywany widok. Ten widok zachowuje się jak każda inna funkcja przechowywana, ale może uczestniczyć w scenariuszach z symbolami wieloznacznymi.

.create function 
    with (view=true, docstring='Simple demo view', folder='Demo')  
    MyView() { StormEvents | take 100 }