Aracılığıyla paylaş


.create function komutu

Verilen adla yeniden kullanılabilir bir KQL sorgusu olan saklı bir işlev oluşturur. İşlev tanımı veritabanı meta verileriyle kalıcı hale eklenir.

İşlevler diğer işlevleri çağırabilir (özyineleme desteklenmez). Ayrıca, let deyimlere İşlev Gövdesi'nin bir parçası olarak izin verilir. Bkz let . deyimler.

Parametre türleri ve CSL deyimleri için kurallar deyimleriyle aynıdırlet.

İzinler

Bu komutu çalıştırmak için en az Veritabanı Kullanıcısı izinlerine sahip olmanız gerekir.

Sözdizimi

.createfunction [ ifnotexists ] [ with(propertyName = propertyValue [, ...]) ] functionName( parameters gövdesi) { }

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
ifnotexists string Belirtilirse, işlev yalnızca işlev henüz mevcut değilse oluşturulur.
functionName string ✔️ Oluşturulacak veya değiştirecek işlevin adı.
propertyName, propertyValue string Anahtar-değer özellik çiftlerinin virgülle ayrılmış listesi. Desteklenen özelliklere bakın.
parametreler string İşlev için gereken parametrelerin virgülle ayrılmış listesi. Her parametrenin biçimi ParameterName:ParameterDataType olmalıdır.
gövde string ✔️ Kullanıcı tanımlı işlev ifadesi.

Desteklenen özellikler

Adı Tür Açıklama
docstring string Kullanıcı arabirimi amacıyla işlevin açıklaması.
folder string KULLANıCı arabirimi işlevleri kategorilere ayırma için kullanılan bir klasörün adı.
view bool Bu işlevi depolanmış görünüm olarak gösterir. Depolanan görünümler arama ve birleşim * senaryolarına katılabilir. Daha fazla bilgi için bkz . Görünümler.
skipvalidation bool İşlevde doğrulama mantığı çalıştırılıp çalıştırılmayacağını belirler ve işlev geçerli değilse işlem başarısız olur. Varsayılan değer: false.

İpucu

Bir işlev kümeler arası sorgular içeriyorsa ve bir Kusto Sorgu Dili betiği kullanarak işlevi yeniden oluşturmayı planlıyorsanız olarak ayarlayıntrueskipvalidation.

Döndürülenler

Çıkış parametresi Type Açıklama
Ad string İşlevin adı.
Parametreler string İşlevin gerektirdiği parametreler.
Gövde string (Sıfır veya daha fazla) let deyimleri ve ardından işlev çağrısı üzerine değerlendirilen geçerli bir CSL ifadesi.
Klasör string KULLANıCı arabirimi işlevleri kategorilere ayırma için kullanılan bir klasör. Bu parametre işlevin çağrılma şeklini değiştirmez.
DocString string Kullanıcı arabirimi amacıyla işlevin açıklaması.

Not

  • İşlev zaten varsa:
    • Bayrak belirtilirse ifnotexists , komut yoksayılır (değişiklik uygulanmaz).
    • Bayrak belirtilmezse ifnotexists bir hata döndürülür.
    • Mevcut bir işlevi değiştirmek için bkz. .alter function
  • Deyimlerde let tüm veri türleri desteklenmez. Desteklenen türler şunlardır: boole, dize, uzun, tarih saat, zaman aralığı, çift ve dinamik.
  • İşlevin anlam doğrulamasını atlamak için kullanın skipvalidation . İşlevler yanlış sırada oluşturulduğunda ve F2 kullanan F1 daha önce oluşturulduğunda bu kullanışlıdır.

Örnekler

Basit tanıtım işlevi

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Veri Akışı Adı Parametreler Gövde Klasör DocString
MyFunction1 () {StormEvents | take 100} Tanıtım Basit tanıtım işlevi

Parametresi olan demo işlevi

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
Veri Akışı Adı Parametreler Gövde Klasör DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Tanıtım Parametresi olan demo işlevi