Kusto.Explorer の使用

Kusto.Explorer は、使いやすいユーザー インターフェイスで Kusto 照会言語を使用してデータを探索できる、デスクトップ アプリケーションです。 この記事では、検索とクエリのモードを使用する方法、クエリを共有する方法、およびクラスター、データベース、およびテーブルを管理する方法について説明します。

Search++ モード

Search ++ モードは、1 つ以上のテーブルで検索構文を使用して用語を検索することができます。

  1. [ホーム] タブの [クエリ] ドロップダウンで、[Search + +] を選択します。

  2. [複数のテーブル] を選択します。

  3. [テーブルの選択] で、検索するテーブルを定義します。

  4. [編集] ボックスに検索語句を入力し、[Go] を選択します。

  5. テーブル/タイムスロット グリッドのヒートマップには、表示される用語と表示される場所が示されます。

    Kusto Explorer の Search++

  6. グリッド内のセルを選択し、[詳細の表示] を選択すると、結果ペインに関連するエントリが表示されます。

    Kusto Explorer の Search++ の結果

クエリ モード

Kusto.Explorer には、アドホッククエリの作成、編集、および実行を可能にする強力なスクリプト モードが用意されています。 スクリプトモードには、構文の強調表示と IntelliSense が備わっているため、Kusto 照会言語の知識をすばやく増やすことができます。

このセクションでは、Kusto.Explorer で基本的なクエリを実行する方法と、クエリにパラメーターを追加する方法について説明します。

基本的なクエリ

テーブル ログがある場合は、次のことを試してみることができます。

StormEvents | count 

カーソルがこの行にある場合は、灰色で色付けされます。 F5 キーを押して、クエリを実行します。

以下に、他のクエリの例をいくつか紹介します。

// Take 10 lines from the table. Useful to get familiar with the data
StormEvents | limit 10 
// Filter by EventType == 'Flood' and State == 'California' (=~ means case insensitive) 
// and take sample of 10 lines
StormEvents 
| where EventType == 'Flood' and State =~ 'California'
| limit 10

Kusto Explorer の基本的なクエリ。

詳細は、Kusto 照会言語に関するページを参照してください。

注意

クエリ式の空白行は、クエリのどの部分が実行されるかに影響を与える可能性があります。

テキストが選択されていない場合は、クエリまたはコマンドが空白行で区切られていると想定されます。 テキストが選択されている場合は、選択したテキストが実行されます。

クライアント側のクエリのパラメーター化

Note

Kusto では、次の2種類のクエリをパラーメータ化する手法を利用できます。

  • 統合言語クエリ パラメーター化は、クエリ エンジンの一部として実装されており、プログラムによってサービスをクエリするアプリケーションによって使用されます。 この方法については、このドキュメントでは説明しません。

  • 以下で説明するクライアント側のクエリのパラメーター化は、Kusto.Explorer アプリケーションのみの機能です。 これは、サービスによって実行されるように送信する前に、クエリに対して文字列置換操作を使用することと同じです。 次に示す構文はクエリ言語自体の一部ではなく、Kusto.Explorer 以外の方法でサービスにクエリを送信するときには使用できません。

複数のクエリまたは複数のタブで同じ値を使用する場合に、使用するすべての場所でその値を変更するのは非常に不便です。 そのため、Kusto.Explorer ではクエリ パラメータをサポートしています。 クエリ パラメーターは、簡単に再利用できるように、タブ間で共有されます。 パラメーターは、{} ブラケットで示されます。 例: {parameter1}

スクリプト エディターでは、クエリ パラメーターが強調表示されます。

パラメーター化クエリ 1。

既存のクエリパラメーターは簡単に定義したり編集したりすることができます。

パラメーター化クエリ 2 を編集。

パラメーター化クエリ 3 を編集。

スクリプト エディターには、既に定義済みのクエリ パラメーター向けの IntelliSense もあります。

パラメーター化クエリ IntelliSense。

複数のパラメーター セットを含めることができます ([パラメーター セット] コンボ ボックスに表示されます)。 パラメーターセットの一覧を操作するには、[新規追加] または [現在のものを削除する] を選択します。

パラメーター セットのリスト。

クエリと結果を共有する

Kusto.Explorerでは、クエリと結果を電子メールで共有できます。 ブラウザーでクエリを開いて実行するディープ リンクを作成することもできます。

電子メールでクエリと結果を共有する

Kusto.Explorer では、クエリとクエリ結果を電子メールで共有するための便利な方法が提供されています。

  1. Kusto.Explorer でクエリを実行します。

  2. [ホーム] タブの [共有] セクションで、[クリップボードにエクスポート] を選択します (または、Ctrl + Shift + C キーを押します)。

    クリップボードにエクスポート。

    Kusto.Explorer で、次のものがクリップボードに貼り付けられます。

    • クエリ
    • クエリ結果 (テーブルまたはグラフ)
    • Kusto クラスターとデータベースの接続の詳細
    • 自動的にクエリを再実行するリンク
  3. クリップボードの内容を新しい電子メールのメッセージ本文に貼り付けます。

    結果を電子メールで共有。

ディープリンク クエリ

ブラウザーで開いたときに Kusto.Explorer をローカルで開き、指定した Kusto データベースに対して特定のクエリを実行する URI を作成できます。

Note

セキュリティ上の理由から、コントロール コマンドではディープリンクが無効になっています。

ディープリンクを作成する最も簡単な方法は、Kusto.Explorer でクエリを作成し、Export to Clipboard を使用してクエリ (ディープリンクや結果を含む) をクリップボードにコピーする方法です。 その後、電子メールで共有できます。

電子メールにコピーすると、ディープ リンクが小さいフォントで表示されます。 次に例を示します。

https://help.kusto.windows.net/Samples[クリックするとクエリが実行されます]

最初のリンクを開くと、Kusto.Explorer が開き、クラスターとデータベースのコンテキストが適切に設定されます。 2番目のリンク ( Click to run query ) はディープ リンクです。 リンクを電子メール メッセージに移動して CTRL + K キーを押すと、実際の URL が表示されます。

https://help.kusto.windows.net/Samples?web=0&query=H4sIAAAAAAAEAAsuyS%2fKdS1LzSspVuDlqlEoLs3NTSzKrEpVSM4vzSvR0FRIqlRIyszTCC5JLCoJycxN1VEwT9EEKS1KzUtJLVIoAYolZwAlFQCB3oo%2bTAAAAA%3d%3d

ディープリンクでパラメーター化クエリを使用できます。

  1. パラメーター化クエリとして形成されるクエリを作成する (たとえば、KustoLogs | where Timestamp > ago({Period}) | count )

  2. 次のように、URI のすべてのクエリ パラメーターにパラメーターを指定する

    https://<your_cluster>.kusto.windows.net/MyDatabase? web=0&query=KustoLogs+%7c+where+Timestamp+>+ago({Period})+%7c+count&Period=1h

    <your_cluster> をご自分の Azure Data Explorer クラスター名に置き換えます。

制限事項

ブラウザーの制限、HTTP プロキシ、および Microsoft Outlook などのリンクを検証するツールにより、クエリの文字数は 2000 字以下に制限されています。 この制限はクラスターとデータベース名の長さに依存するため、2000 字はおおよその数です。 詳細については、「https://support.microsoft.com/kb/208427」を参照してください。

文字制限に到達する可能性を減らすには、短いリンクを取得するに関する記事を参照してください。

URI の形式は次のとおりです。 https://<ClusterCname>.kusto.windows.net/<DatabaseName>web=0?query=<QueryToExecute>

例: https://help.kusto.windows.net/Samples?web=0query=StormEvents+%7c+limit+10

この URI は Kusto.Explorerを開き、Help Kusto クラスターに接続して、Samples データベースに対して指定されたクエリを実行します。 既に実行されている Kusto.Explorer のインスタンスがある場合は、実行中のインスタンスによって新しいタブが開き、そこでクエリが実行されます。

クエリは長くなる場合があります。 クエリが最大長を超える可能性を減らすには、Kusto クライアント ライブラリで使用可能な String Kusto.Data.Common.CslCommandGenerator.EncodeQueryAsBase64Url(string query) メソッドを使用します。 この方法では、よりコンパクトな形式のクエリが生成されます。 短い形式は、Kusto.Explorer でも認識されます。

https://help.kusto.windows.net/Samples?web=0&query=H4sIAAAAAAAEAAsuyS%2fKdS1LzSspVuDlqlEoLs3NTSzKrEpVSM4vzSvR0FRIqlRIyszTCC5JLCoJycxN1VEwT9EEKS1KzUtJLVIoAYolZwAlFQCB3oo%2bTAAAAA%3d%3d

次の変換を適用することで、クエリがより簡潔になります。

 UrlEncode(Base64Encode(GZip(original query)))

Kusto.Explorer のコマンドライン引数

コマンドライン引数を使用して、スタートアップ時に追加の機能を実行するようにツールを構成します。 たとえば、スクリプトを読み込んでクラスターに接続します。 そのため、コマンドライン引数は、Kusto.Explorer の機能に代わるものではありません。

コマンドライン引数は、 ディープリンクをクエリする場合と同様の方法で、アプリケーションを開くために使用される URL の一部として渡されます。

コマンドライン引数の構文

Kusto.Explorer では、次の構文でいくつかのコマンドライン引数がサポートされています (順序は重要です)。

[LocalScriptFile] [QueryString]

  • LocalScriptFile は、ローカル コンピューター上のスクリプト ファイルの名前です。拡張子は .kql である必要があります。 このようなファイルが存在する場合、Kusto.Explorer は、起動時に自動的にこのファイルを読み込みます。
  • QueryString は、HTTP クエリ文字列の書式設定を使用する文字列です。 このメソッドは、次の表で説明するように、追加のプロパティが提供されています。

たとえば、c:\temp\script.kql という名前のスクリプト ファイルを使用して Kusto.Explorer を起動し、クラスター help、 データベース Samples と通信するように構成するには、次のコマンドを使用します。

Kusto.Explorer.exe c:\temp\script.kql uri=https://help.kusto.windows.net/Samples;Fed=true&name=Samples
引数 説明
実行するクエリ
query 実行するクエリ (gzip 圧縮後 base64 エンコード。上記の「短いリンクの取得」を参照)。 空の場合は、querysrc を使用します。
querysrc 実行するクエリを保持するファイルか BLOB の HTTP URL (query が空の場合)。
Kusto クラスターへの接続
uri 接続先となる Kusto クラスターの接続文字列。
name Kusto クラスターへの接続の表示名。
接続グループ
path ダウンロードする接続グループ ファイルの URL (URL エンコード)。
group 接続グループの名前。
filename 接続グループを保持するローカル ファイル。

クラスター、データベース、テーブル、または関数の承認されたプリンシパルを管理する

Note

承認されたプリンシパルを独自のスコープで追加または切断できるのは、管理者のみです。

[接続] パネルでターゲット エンティティを右クリックし、[クラスターの承認されたプリンシパルの管理] を選択します。 (管理メニューからこのオプションを選択することもできます)

承認されたプリンシパルの管理。

承認されたプリンシパルの管理のウィンドウ。

  • 新しい承認されたプリンシパルを追加するには、[プリンシパルの追加] を選択し、プリンシパルの詳細を指定して、アクションを確認します。

    承認されたプリンシパルの追加。

    承認されたプリンシパルの追加の確認。

  • 既存の承認されたプリンシパルを切断するには、[プリンシパルの切断] を選択し、アクションを確認します。

    承認されたプリンシパルの切断の確認。

次のステップ

Kusto.Explorer のツールとユーティリティの詳細については、以下をご覧ください。