.create function コマンド
ストアド関数を作成し、これは、所定の名前を有する再利用可能な KQL クエリです。 関数*定義は、データベース* メタデータ*とともに永続化されます。
関数は他の関数を呼び出すことができます (再帰性はサポートされていません)。 さらに、let
ステートメントは "関数本体" のパーツとして許可されます。 let
ステートメントをご覧ください。
パラメーターの型およびCSLステートメントのルールは、let
ステートメントの場合と同じです。
アクセス許可
このコマンドを実行するには、少なくとも データベース ユーザー のアクセス許可が必要です。
構文
.create
function
[ ifnotexists
] [ with
(
propertyName=
propertyValue [,
...])
] ] functionName(
パラメーター)
{
体}
構文規則について詳しく知る。
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
ifnotexists |
string |
指定した場合、関数は関数がまだ存在しない場合にのみ作成されます。 | |
functionName | string |
✔️ | 作成または変更する関数の名前。 |
propertyName、 propertyValue | string |
キーと値のプロパティペアのコンマ区切りのリスト。 「サポートされているプロパティ」を参照してください。 | |
parameters | string |
関数に必要なパラメーターのコンマ区切りのリスト。 各パラメーターの形式は ParameterName: ParameterDataType である必要があります。 |
|
body | string |
✔️ | ユーザー定義の関数式。 |
サポートされているプロパティ
名前 | 型 | 説明 |
---|---|---|
docstring |
string |
UI 用の関数の説明。 |
folder |
string |
UI 関数の分類に使用されるフォルダーの名前。 |
view |
bool |
保存されるビューとしてこの関数を指定します。 保存されたビューは、 検索 と 共用体 * のシナリオに参加できます。 詳細については、「 ビュー」を参照してください。 |
skipvalidation |
bool |
関数に対して検証ロジックを実行し、関数が有効でない場合にプロセスを失敗させるかどうかを判断します。 既定値は、false です。 |
ヒント
関数にクラスター間クエリが含まれており、Kusto 照会言語 スクリプトを使用して関数を再作成する予定の場合は、 を に設定skipvalidation
しますtrue
。
戻り値
出力パラメーター | 型 | 説明 |
---|---|---|
名前 | string |
関数の名前。 |
パラメーター | string |
関数に必要なパラメーター。 |
本文 | string |
(0 個以上) 関数の呼び出し時に評価される有効な CSL 式が後に続く let ステートメント。 |
Folder | 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} | デモ | 単純なデモ関数* |
パラメーター*を使用したデモ関数*
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long) {StormEvents | take myLimit}
名前 | パラメーター | 本文 | フォルダー | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:long) | {StormEvents | take myLimit} | デモ | パラメーター*を使用したデモ関数* |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示