使用 Kusto.Explorer

Kusto.Explorer 是一款桌面應用程式,可讓您在便於使用的使用者介面中,使用 Kusto 查詢語言來探索資料。 本文說明如何使用搜尋和查詢模式、共用您的查詢,以及管理叢集、資料庫和資料表。

Search++ 模式

Search++ 模式可讓您使用搜尋語法,在一或多個資料表間搜尋字詞。

  1. 在 [常用] 索引標籤的 [查詢] 下拉式清單中,選取 [搜尋++]。

  2. 選取 [多個資料表]。

  3. [選擇數據表] 下,定義要搜尋的數據表,然後選取 [ 確定]。

  4. 在編輯方塊中輸入您的搜尋片語,然後選取 [執行]。

    資料表/時段方格的熱度圖會顯示出現的詞彙,以及出現的位置。

    搜尋 + + Kusto Explorer

  5. 選取方格中的資料格,並選取 [檢視詳細資料] 以在結果面板中顯示相關的項目。

    Kusto Explorer 搜尋 + + 結果

查詢模式

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 Explorer 基本查詢。

若要深入瞭解 Kusto 查詢語言,請參閱 Kusto 查詢語言

注意

查詢運算式中的空白行可能會影響執行查詢的哪個部分。

如果未選取任何文字,則會假設查詢或命令以空白行分隔。 如果選取文字,則會執行選取的文字。

用戶端查詢參數化

注意

Kusto 中有兩種類型的查詢參數化技術:

  • 語言整合式查詢參數化 是實作伺服器端的,而且是要由以程式設計方式查詢服務的應用程式使用。 本文件並未說明此方法。

  • 下方所述的用戶端查詢參數化為僅適用於 Kusto. Explorer 應用程式的功能。 這相當於在將查詢傳送給服務執行前,在查詢上使用取代字串的作業。 以下所述的語法並非查詢語言本身的一部分,而且透過 Kusto.Explorer 以外的方式將查詢傳送給服務時無法使用。

如果您在多個查詢或多個索引標籤中使用相同值,則在使用此值的各個位置均無法輕鬆變更該值。 這就是 Kusto.Explorer 支援查詢參數的原因。 查詢參數會在索引標籤間共用,因此您可輕鬆進行重複使用。 參數會表示在 {} 括弧中。 例如: {parameter1}

您可以輕鬆地定義和編輯現有的查詢參數:

查詢編輯器的螢幕快照,其中顯示具有參數的查詢。標題為 [查詢參數] 的查詢編輯器選項會反白顯示。

[查詢參數] 視窗的螢幕快照,其中顯示已定義的參數。

您可以有多組參數 (列在 [參數集] 下拉式方塊中)。 選取 [新增] 或 [刪除目前項目] 來維護參數集的清單。

參數集的清單。

共用查詢和結果

在 Kusto.Explorer 中,您可以透過電子郵件共用查詢和結果。 您也可以建立深層連結,以在瀏覽器中開啟並執行查詢。

透過電子郵件共用查詢和結果

Kusto.Explorer 可讓您輕鬆地透過電子郵件共用查詢和查詢結果。

  1. 在 Kusto.Explorer 中執行您的查詢

  2. 在 [首頁] 索引標籤的 [共用] 區段中,選取 [ 查詢和結果至 剪貼簿] (,或按 Ctrl+Shift+C) 。

    匯出至剪貼簿。

    Kusto.Explorer 會將下列內容複製到剪貼簿:

    • 您的查詢
    • 查詢結果 (資料表或圖表)
    • Kusto 叢集和資料庫的連線詳細資料
    • 自動重新執行查詢的連結
  3. 將剪貼簿的內容貼上至新的電子郵件訊息中。

    在電子郵件中共享結果。

深層連結查詢

當於瀏覽器中開啟時您可以建立 URI,此 URI 可用於在本機開啟 Kusto.Explorer,並在特定 Kusto 資料庫上執行特定查詢。

注意

基於安全性考慮,會停用管理命令的深層連結。

建立深層連結最簡單的方式,就是在 Kusto 中撰寫您的查詢,然後用 Export to Clipboard 來將查詢 (包括深層連結和結果) 複製到剪貼簿。 然後您即可透過電子郵件進行共用。

複製到電子郵件時,深層連結會以小字型顯示。 例如:

https://help.kusto.windows.net/Samples [執行查詢]

第一個連結會開啟 Kusto.Explorer,並適當設定叢集和資料庫內容。 第二個連結 (Run the query) 即為深層連結。 如果您將連結移動至電子郵件訊息,然後按下 CTRL+K,則可看到實際的 URL:

https://help.kusto.windows.net/Samples?web=0&query=H4sIAAAAAEAAsuyS%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

    以您的 Azure 資料總管叢集名稱取代 <your_cluster>。

限制

查詢限制為上限 2000 個字元,因為瀏覽器限制、HTTP proxy 以及用於驗證連結的工具,例如 Microsoft Outlook。 此上限為粗略值,因為此值式基於叢集和資料庫名稱長度。 如需詳細資訊,請參閱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=H4sIAAAAAEAAsuyS%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 要執行 (gzipped 的查詢,然後為base64編碼;請參閱) 上方的「取得較短的連結」。 如果空白,請使用 querysrc
querysrc 如果 是空的) ,則保存查詢的檔案/Blob 的 HTTP URL,以 query 執行 (。
與 Kusto 叢集連線
uri 要與 Kusto 叢集連線的連接字串。
name 與 Kusto 叢集連線的顯示名稱。
連接群組
path 要下載的 (URL 編碼型) 連接群組檔案 URL。
group 連接群組的名稱。
filename 保留連接群組的本機檔案。

管理資料庫、數據表或函式授權主體

重要

只有管理員 可以在自己的範圍中新增或卸除已授權主體。

  1. 若要檢視授權主體清單,請以滑鼠右鍵按兩下 [ 連線] 面板中的目標實體,然後選取 [ 管理資料庫授權主體]。 (您也可以從 [管理] 功能表中選取此選項。)

    實體下拉功能表的螢幕快照。標題為 [管理資料庫授權主體] 的選項會反白顯示。

  2. 選取 [新增主體 ] 以新增授權的主體。 [管理授權主體] 視窗的螢幕快照。標題為 [卸除主體] 和 [新增主體] 的選項會反白顯示。

  3. 提供主體詳細數據,然後選取 [ 新增主體]。

    [新增授權主體] 視窗的螢幕快照。標題為 [新增主體] 的按鈕會反白顯示。

  4. 確認您想要新增授權的主體。

    [檢閱主體] 視窗的螢幕快照,其中顯示新增授權主體的確認要求。

若要卸除現有的已授權主體,請選取 [卸除主體],然後確認動作。

[卸除主體] 視窗的螢幕快照,其中顯示卸除授權主體的確認要求。