Perintah fungsi .create

Membuat fungsi tersimpan, yang merupakan kueri KQL yang dapat digunakan kembali dengan nama yang diberikan. Definisi fungsi dipertahankan dengan metadata database.

Fungsi dapat memanggil fungsi lain (rekursifitas tidak didukung). Selain itu, let pernyataan diizinkan sebagai bagian dari Isi Fungsi. Lihat let pernyataan.

Aturan untuk jenis parameter dan pernyataan CSL sama dengan let pernyataan.

Izin

Anda harus memiliki setidaknya izin Pengguna Database untuk menjalankan perintah ini.

Sintaks

.createfunction [ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] functionName(Parameter){Tubuh}

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
ifnotexists string Jika ditentukan, fungsi hanya akan dibuat jika fungsi belum ada.
functionName string ✔️ Nama fungsi yang akan dibuat atau diubah.
propertyName, propertyValue string Daftar pasangan properti kunci-nilai yang dipisahkan koma. Lihat properti yang didukung.
parameter string Daftar parameter yang dipisahkan koma yang diperlukan oleh fungsi . Format untuk setiap parameter harus ParameterName:ParameterDataType.
isi string ✔️ Ekspresi fungsi yang ditentukan pengguna.

Properti yang didukung

Nama Jenis Deskripsi
docstring string Deskripsi fungsi untuk tujuan antarmuka pengguna.
folder string Nama folder yang digunakan untuk kategorisasi fungsi UI.
view bool Menunjuk fungsi ini sebagai tampilan tersimpan. Tampilan tersimpan dapat berpartisipasi dalam skenario pencarian dan penyatuan * . Untuk informasi selengkapnya, lihat Tampilan.
skipvalidation bool Menentukan apakah akan menjalankan logika validasi pada fungsi atau tidak dan gagal dalam proses jika fungsi tidak valid. Default adalah false.

Tip

Jika fungsi melibatkan kueri lintas kluster dan Anda berencana untuk membuat ulang fungsi menggunakan skrip Bahasa Kueri Kusto, atur skipvalidation ke true.

Mengembalikan

Parameter output Jenis Deskripsi
Nama string Nama fungsi.
Parameter string Parameter yang diperlukan oleh fungsi.
Isi string Pernyataan let (nol atau lebih) diikuti oleh ekspresi CSL yang valid dan dievaluasi pada pemanggilan fungsi.
Folder string Folder yang digunakan untuk kategorisasi fungsi UI. Parameter ini tidak mengubah cara fungsi dipanggil.
DocString string Deskripsi fungsi untuk tujuan antarmuka pengguna.

Catatan

  • Jika fungsi sudah ada:
    • Jika bendera ifnotexists ditentukan, perintah diabaikan (tidak ada perubahan yang diterapkan).
    • Jika bendera ifnotexists TIDAK ditentukan, kesalahan akan ditampilkan.
    • Untuk mengubah fungsi yang ada, lihat .alter function
  • Tidak semua jenis data didukung dalam pernyataan let. Jenis yang didukung adalah: boolean, string, long, tanggalwaktu, timespan, double, dan dynamic.
  • Gunakan skipvalidation untuk melewati validasi semantik fungsi. Tindakan ini berguna jika fungsi dibuat dalam urutan yang salah dan F1 yang menggunakan F2 dibuat lebih awal.

Contoh

Fungsi demo simpel

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Nama Parameter Isi Folder DocString
MyFunction1 () {StormEvents | mengambil 100} Demo Fungsi demo simpel

Fungsi demo dengan parameter

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
Nama Parameter Isi Folder DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Demo Fungsi demo dengan parameter