Kusto.Explorer は、直感的なインターフェイスで Kusto クエリ言語 (KQL) を使用してデータを探索できるデスクトップ アプリケーションです。 このガイドでは、効率的なデータ分析のために、検索モードとクエリ モードを使用する方法、クエリを共有する方法、クラスター、データベース、テーブルを管理する方法について説明します。
Search++ モード
Search ++ モードは、1 つ以上のテーブルで検索構文を使用して用語を検索することができます。
[ ホーム ] タブの [ クエリ ] ドロップダウンで、[ 検索] を選択します。
[複数のテーブル] を選択します。
[ テーブルの選択] で、検索するテーブルを指定し、[ OK] を選択します。
編集ボックスに検索語句を入力し、[移動] を選択 します。
テーブルとタイム スロット グリッドのヒート マップには、用語が表示される場所が表示されます。
グリッド内のセルを選択し、[詳細の 表示 ] を選択して、結果ウィンドウに関連するエントリを表示します。
クエリ モード
Kusto.Explorer には、インライン クエリを記述、編集、実行できる強力なクエリ モードが含まれています。 クエリ モードには構文の強調表示と IntelliSense が含まれているため、Kusto クエリ言語に関する知識をすばやく向上させることができます。
このセクションでは、Kusto.Explorer で基本的なクエリを実行し、クエリにパラメーターを追加する方法について説明します。
基本的なクエリ
テーブル ログがある場合は、次のことを試してみることができます。
StormEvents | count
カーソルがこの行にあると、灰色になります。 F5 キーを押してクエリを実行します。
以下に、他のクエリの例をいくつか紹介します。
// Take 10 lines from the table. This is useful to get familiar with the data.
StormEvents | take 10
// Filter by EventType == 'Flood' and State == 'California' (where =~ means case insensitive).
// Take a sample of 10 lines.
StormEvents
| where EventType == 'Flood' and State =~ 'California'
| take 10
Kusto クエリ言語での Kusto クエリ言語の詳細について説明します。
注
クエリの空白行は、クエリのどの部分を実行するかに影響する可能性があります。
テキストが選択されていない場合、クエリまたはコマンドは空の行で区切ります。 テキストが選択されている場合は、選択したテキストのみが実行されます。
クライアント側のクエリのパラメーター化
注
Kusto には、次の 2 種類のクエリ パラメーター化手法があります。
言語統合クエリパラメーター化 はサーバー側で実装され、プログラムでサービスにクエリを実行するアプリケーションで使用することを目的とします。 この方法については、このドキュメントでは説明しません。
クライアント側のクエリ パラメーター化は、Kusto.Explorer アプリケーションのみの機能です。 これは、クエリをサービスに送信する前に文字列置換操作を使用することと同じです。 構文はクエリ言語自体の一部ではなく、Kusto.Explorer 以外の方法でサービスにクエリを送信するときに使用できません。
複数のクエリまたはタブで同じ値を使用する場合、使用されるすべての場所でその値を変更するのは不便です。 Kusto.Explorer を使用すると、便利なクエリ パラメーターを使用できます。 クエリ パラメーターはタブ間で共有されるため、簡単に再利用できます。 パラメーターは中かっこ ({}) で示されます。 たとえば、{parameter1} のようにします。
クエリ パラメーターを定義および編集します。
[パラメーター セット] コンボ ボックスに一覧表示されている複数の パラメーター セット を使用できます。 パラメーター セットを管理するには 、[新規追加] または [ 現在の削除] を選択します。
クエリと結果を共有する
Kusto.Explorer で、電子メールでクエリと結果を共有します。 ブラウザーでクエリを開いて実行するためのディープ リンクを作成します。
電子メールでクエリと結果を共有する
Kusto.Explorer で電子メールでクエリとクエリ結果を共有します。
Kusto.Explorer でクエリを実行します。
[ Home ] タブの [ Share セクションで、 Query と結果をクリップボードに を選択します (または Ctrl + Shift + C キーを押します)。
Kusto.Explorer は、次のコードをクリップボードにコピーします。
- クエリ
- クエリ結果 (テーブルまたはグラフ)
- Kusto クラスターとデータベースの接続の詳細
- クエリを自動的に再実行するリンク
クリップボードの内容を新しいメール メッセージに貼り付けます。
Kusto.Explorer でクエリを実行します。
[ Home ] タブの [ Share セクションで、 Query と結果をクリップボードに を選択します (または Ctrl + Shift + C キーを押します)。
Kusto.Explorer は、次のコードをクリップボードにコピーします。
- クエリ
- クエリ結果 (テーブルまたはグラフ)
- イベントハウスとデータベースの接続の詳細
- クエリを自動的に再実行するリンク
ディープ リンク クエリ
ブラウザーで開いたときに Kusto.Explorer をローカルで開き、指定した Kusto データベースに対して特定のクエリを実行する URI を作成できます。
注
セキュリティ上の理由から、管理コマンドのディープ リンクは無効になっています。
ディープリンクの作成
ディープ リンクを作成する最も簡単な方法は、Kusto.Explorer でクエリを記述し、 Query and results to Clipboard を使用して、ディープ リンクや結果を含むクエリをクリップボードにコピーすることです。 その後、電子メールで共有できます。
メールにコピーすると、実行するリンクが小さなフォントで表示されます。 次に例を示します。
実行: [Web] [デスクトップ] [Web (Lens)] [Desktop (SAW)] https://trd-1234.kusto.fabric.microsoft.com
Web リンクを使用すると、Azure Data Explorer でクエリが開きます。 Desktop リンクはディープリンクです。 Kusto.Explorer でクエリが開き、コンテキストが適切に設定されます。
リンクを電子メール メッセージに移動し、Ctrl キーを押しながら K キーを押すと、実際の URL が表示されます。
https://help.kusto.windows.net/Samples?web=0&query=H4sIAAAAAAAEASUyS%2fKdS1LzSspVuDlqlEoLs3NTSzKrEpVSM4vzSvR0FRIqlRIyszTCC5JLCoJycxN1VEwT9EEKS1KzUtJLVIoAYolZwAlFQCB3oo%2bTAAAAA%3d%3d%3d
ディープ リンクとパラメーター化されたクエリ
ディープリンクでパラメーター化クエリを使用できます。
- パラメーター化クエリとして形成されるクエリを作成する (たとえば、
KustoLogs | where Timestamp > ago({Period}) | count)
URI 内のすべてのクエリ パラメーターにパラメーターを指定します。 URI をコピーするには、Azure portal でクラスターの概要ページに移動し、URI を選択します。 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 クラスター名に置き換えます。
クエリ リンクを Kusto.Explorer クエリ ウィンドウに直接貼り付けます。
URI 内のすべてのクエリ パラメーターにパラメーターを指定します。 URI をコピーするには、Fabric の KQL クエリ ウィンドウで、 Copy クエリ>クリップボードにリンクを選択します。
リンクを Kusto.Explorer クエリ ウィンドウに貼り付けます。
注
Kusto.Explorer でクエリを実行できるようにするには、クエリで参照されているデータベースに接続できることを確認します。
制限事項
ブラウザーの制限、HTTP プロキシ、Microsoft Outlook などのリンクを検証するツールにより、クエリは最大 2,000 文字に制限されます。 この制限はクラスターとデータベース名の長さに依存するため、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 のインスタンスが既に実行されている場合、実行中のインスタンスは新しいタブを開き、その中でクエリを実行します。
URI によって Kusto.Explorer が開き、指定されたクエリが実行されます。 実行中のインスタンスが既にある場合は、新しいタブが開きます。
短いリンクの取得
クエリは長くなる場合があります。 最大長を超える可能性を減らすには、Kusto クライアント ライブラリの String Kusto.Data.Common.CslCommandGenerator.EncodeQueryAsBase64Url(string query) メソッドを使用します。 この方法では、よりコンパクトな形式のクエリが生成されます。 短い形式は、Kusto.Explorer でも認識されます。
https://<\BaseAddress>/groups/1234ab-cd55-6789-0123-e4567fg890hi/databases/01234abc-defg-6789-4567fg890hi?experience=power-bi&extensionScenario=openArtifact&query=1234AAAAAAAAAAA567890BBBBBBBB01234567890CCCCCCCCC1234AAAAAAAAAAAAA567890BBBBBBBB01234567890CCCCCCCCCCC1234AAAAAAAAA567890BBBBBBBBBBBB01234567890CCCCCCC%AB%AB%AB
次の変換を適用して、クエリをよりコンパクトにします。
UrlEncode(Base64Encode(gzip(original query)))
Kusto.Explorer のコマンドライン引数
コマンド ライン引数を使用すると、スクリプトの読み込みやクラスターへの接続など、起動時により多くの関数を実行できます。 ただし、コマンド ライン引数では、Kusto.Explorer の機能は置き換えられません。
コマンド ライン引数は、 ディープ リンクのクエリと同様に、アプリケーションを開くために使用される URL の一部です。
コマンドライン引数の構文
Kusto.Explorer では、次の構文を使用した複数のコマンド ライン引数がサポートされています (順序は重要です)。
[LocalScriptFile][QueryString]
コマンド ライン引数
| コマンドライン引数 | 説明 |
|---|---|
| LocalScriptFile | ローカル コンピューター上のスクリプト ファイルの名前。拡張子が .kqlされている必要があります。 ファイルが存在する場合、Kusto.Explorer は起動時に自動的にファイルを読み込みます。 |
| クエリ文字列 | HTTP クエリ文字列の書式設定を使用する文字列。 このメソッドは、次の表に示すように、より多くのプロパティを提供します。 |
Querystring 引数
| 引数 | 説明 |
|---|---|
| 実行するクエリ | |
query |
実行するクエリ (gzipped、base64 エンコード)。「 短いリンクの取得」を参照してください。 指定していない場合は querysrc が使用されます。 |
querysrc |
実行するクエリを保持するファイル/BLOB の URL。 |
| Kusto クラスターへの接続 | |
uri |
接続先となる Kusto クラスターの接続文字列。 |
name |
Kusto クラスターへの接続の表示名。 |
| 接続グループ | |
path |
ダウンロードする接続グループ ファイルの URL (URL エンコード)。 |
group |
接続グループの名前。 |
filename |
接続グループを保持するローカル ファイル。 |
例
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"
c:\temp\script.kqlというスクリプト ファイルで Kusto.Explorer を起動し、特定のグループとデータベースと通信するように設定するには、次のコマンドを実行します。
Kusto.Explorer.exe c:\temp\script.kql "uri=https://<baseaddress>/groups/<GroupID>/databases/<DatabaseID>"
データベース、テーブル、または関数に対する権限を有するプリンシパルを管理する
重要
管理者のみが、自分のスコープで承認されたプリンシパルを追加または削除できます。
承認されたプリンシパルの一覧を表示するには、[接続] パネルを開き、ターゲット エンティティを右クリックして、[ データベースの承認されたプリンシパルの管理] を選択します。 このオプションは、[管理] メニューから選択することもできます。
プリンシパルの追加を選択して、承認されたプリンシパルを追加します。
プリンシパルの詳細を入力し、[ プリンシパルの追加] を選択します。
承認されたプリンシパルの追加を確認します。
承認されたプリンシパルを削除するには、[プリンシパルの 削除 ] を選択し、アクションを確認します。