Kusto.Explorer の使用
Kusto.Explorer は、使いやすいユーザー インターフェイスで Kusto 照会言語を使用してデータを探索できる、デスクトップ アプリケーションです。 この記事では、検索とクエリのモードを使用する方法、クエリを共有する方法、およびクラスター、データベース、およびテーブルを管理する方法について説明します。
Search++ モード
Search ++ モードは、1 つ以上のテーブルで検索構文を使用して用語を検索することができます。
Query Home タブのドロップダウンで、Search++ を選択します。
[複数のテーブル] を選択します。
テーブルの選択で、検索するテーブルを定義し、OKを選択します。
[編集] ボックスに検索語句を入力し、[Go] を選択します。
テーブル/タイムスロット グリッドのヒートマップには、表示される用語と表示される場所が示されます。
グリッド内のセルを選択し、[詳細の表示] を選択すると、結果ペインに関連するエントリが表示されます。
クエリ モード
Kusto.Explorer には、インライン クエリを記述、編集、実行できる強力なクエリ モードが含まれています。 クエリ モードには構文の強調表示と IntelliSense が付属しているため、Kusto 照会言語に関する知識をすばやく増やすことができます。
このセクションでは、Kusto.Explorer で基本的なクエリを実行する方法と、クエリにパラメーターを追加する方法について説明します。
基本的なクエリ
テーブル ログがある場合は、次のことを試してみることができます。
StormEvents | count
カーソルがこの行にある場合は、灰色で色付けされます。 F5 キーを押して、クエリを実行します。
以下に、他のクエリの例をいくつか紹介します。
// Take 10 lines from the table. Useful to get familiar with the data
StormEvents | take 10
// Filter by EventType == 'Flood' and State == 'California' (=~ means case insensitive)
// and take sample of 10 lines
StormEvents
| where EventType == 'Flood' and State =~ 'California'
| take 10
Kusto 照会言語の詳細については、Kusto 照会言語を参照してください。
Note
クエリ式の空白行は、クエリのどの部分が実行されるかに影響を与える可能性があります。
テキストが選択されていない場合は、クエリまたはコマンドが空白行で区切られていると想定されます。 テキストが選択されている場合は、選択したテキストが実行されます。
クライアント側のクエリのパラメーター化
Note
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 を作成できます。
Note
セキュリティ上の理由から、管理コマンドのディープ リンクは無効になっています。
ディープリンクの作成
ディープリンクを作成する最も簡単な方法は、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 クエリ ウィンドウのリンクを過ぎた。
Note
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 は起動時に自動的にファイルを読み込みます。 |
QueryString | HTTP クエリ文字列の書式設定を使用する文字列。 このメソッドは、次の表に示すように、より多くのプロパティを提供します。 |
Querystring 引数
引数 | 説明 |
---|---|
実行するクエリ | |
query |
実行するクエリ (gzipped、base64 エンコード)。「 短いリンクの取得」を参照してください。 指定していない場合は querysrc が使用されます。 |
querysrc |
実行するクエリを保持するファイル/BLOB の URL。 |
Kusto クラスターへの接続 | |
uri |
接続先となる Kusto クラスターの接続文字列。 |
name |
Kusto クラスターへの接続の表示名。 |
接続グループ | |
path |
ダウンロードする接続グループ ファイルの URL (URL エンコード)。 |
group |
接続グループの名前。 |
filename |
接続グループを保持するローカル ファイル。 |
例
クラスター help
、データベース Samples
と通信するように構成された c:\temp\script.kql
というスクリプト ファイルで Kusto.Explorer を起動するには、次のコマンドを使用します。
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>"
データベース、テーブル、または関数の承認されたプリンシパルを管理する
重要
承認されたプリンシパルを独自のスコープで追加または切断できるのは、管理者のみです。
承認されたプリンシパルの一覧を表示するには、Connections パネルでターゲット エンティティを右クリックし[データベースの承認されたプリンシパルの管理]を選択します。 (管理メニューからこのオプションを選択することもできます)
プリンシパルの追加を選択して、承認されたプリンシパルを追加します。
プリンシパルの詳細を入力し、 プリンシパルの追加を選択します。
承認されたプリンシパルを追加することを確認します。
既存の承認されたプリンシパルを切断するには、[プリンシパルの切断] を選択し、アクションを確認します。