次の方法で共有


.create function コマンド

ストアド関数を作成し、これは、所定の名前を有する再利用可能な KQL クエリです。 関数*定義は、データベース* メタデータ*とともに永続化されます。

関数は他の関数を呼び出すことができます (再帰性はサポートされていません)。 さらに、let ステートメントは "関数本体" のパーツとして許可されます。 letステートメントをご覧ください。

パラメーターの型およびCSLステートメントのルールは、letステートメントの場合と同じです。

アクセス許可

このコマンドを実行するには、少なくとも Database User アクセス許可が必要です。

構文

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

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
ifnotexists string 指定した場合、関数は、関数がまだ存在しない場合にのみ作成されます。
functionName string ✔️ 作成または変更する関数の名前。
propertyName, propertyValue string キーと値のプロパティのペアのコンマ区切りのリスト。 サポートされるプロパティを参照してください
parameters string 関数で必要なパラメーターのコンマ区切りのリスト。 各パラメーターの形式は、 ParameterName:ParameterDataType にする必要があります。
body string ✔️ ユーザー定義の関数式。

サポートされているプロパティ

名前 種類 説明
docstring string UI 用の関数の説明。
folder string UI 関数の分類に使用されるフォルダーの名前。
view bool 保存されるビューとしてこの関数を指定します。 保存されたビューは、 search および union * シナリオに参加できます。 詳細については、「 Views」を参照してください。
skipvalidation bool 関数に対して検証ロジックを実行するかどうかを決定し、関数が有効でない場合はプロセスを失敗します。 既定値は、false です。

返品

出力パラメーター 説明
Name string 関数の名前です。
パラメーター string 関数に必要なパラメーター。
本文​​ string (0 個以上) 関数の呼び出し時に評価される有効な CSL 式が後に続く let ステートメント。
フォルダー string UI 関数の分類に使用されるフォルダー。 このパラメーターは、関数*の呼び出し*方法を変更しません。
DocString string UI 用の関数の説明。

Note

  • 関数が既に存在する場合:
    • ifnotexistsフラグ*を指定した場合、コマンドを無視します (変更は適用されない)。
    • ifnotexistsフラグ*を指定していない場合、エラー*を返します。
    • 既存の関数*の変更については、.alter function を参照してください。
  • すべてのデータ型*がletステートメント*にサポート*されているわけではありません。 サポーされる型*は、boolean、string、long、datetime*、timespan、double、およびdynamicです。
  • skipvalidation を使用すると、関数のセマンティック評価がスキップされます。 これは、関数が正しくない順序で作成され、F2 を使用する F1 が先に作成された場合に役立ちます。

単純なデモ関数*

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
名前 パラメーター 本文​​ フォルダー DocString
MyFunction1 () {StormEvents | take 100} Demo 単純なデモ関数*

パラメーターを使用したデモ関数

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
名前 パラメーター 本文​​ フォルダー DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Demo パラメーターを使用したデモ関数