使用 Kusto.Explorer

適用於: ✅Microsoft網狀架構Azure 數據總管

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

Search++ 模式

Search++ 模式可讓您跨一或多個數據表使用搜尋語法來搜尋字詞。

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

  2. 選取 [多個數據表]。

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

  4. 在編輯方塊中,輸入您的搜尋詞組,然後選取 [ Go]。

    數據表/時間位置方格的熱度圖會顯示哪些字詞出現,以及其出現位置。

    搜尋 + + 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. 將剪貼簿的內容貼到新的電子郵件訊息中。 電子郵件中共享結果的螢幕快照。

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

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

    [查詢和結果至剪貼簿] 功能表項的螢幕快照。

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

    • 您的查詢
    • 查詢結果(資料表或圖表)
    • eventhouse 和資料庫的連線詳細數據
    • 自動重新執行查詢的連結
  3. 將剪貼簿的內容貼到新的電子郵件訊息中。 電子郵件中網狀架構 KQL 資料庫中共用結果的螢幕快照。

深層鏈接查詢

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

注意

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

若要建立深層連結,最簡單的方式是在 Kusto.Explorer 中撰寫查詢,然後使用 Query and results to Clipboard 將查詢(包括深層鏈接和結果)複製到剪貼簿。 然後,您可以透過電子郵件加以共用。

複製到電子郵件時,要執行的連結會以小型字型顯示。 例如:

執行: [Web] [桌面] [Web (Lens)] [Desktop (SAW)]https://help.kusto.windows.net/Samples

執行: [Web] [桌面] [Web (Lens)] [Desktop (SAW)] https://trd-1234.kusto.fabric.microsoft.com

Web 連結會在 Azure 數據總管中開啟查詢。 桌面連結是深層連結。 它會在 Kusto.Explorer 中開啟查詢,並適當地設定內容。

如果您將連結移至電子郵件訊息,然後按 CTRL+K,您可以看到實際的 URL。

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

您可以使用參數化查詢搭配深層連結。

  1. 建立要形成為參數化查詢的查詢(例如 , KustoLogs | where Timestamp > ago({Period}) | count
  1. 為 URI 中的每個查詢參數提供參數。 若要複製您的 URI,請在 [Azure 入口網站] 中,移至叢集的概觀頁面,然後選取 URI。 URI 的格式應如下:

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

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

  2. 將查詢連結直接貼到 Kusto.Explorer 查詢窗格中。

  1. 為 URI 中的每個查詢參數提供參數。 若要複製 URI,請在網狀架構的 KQL 查詢窗格中,選取 [將查詢>連結複製到剪貼簿]。

  2. 將連結貼到 Kusto.Explorer 查詢窗格中。

注意

若要確定您可以在 Kusto.Explorer 中執行查詢,請確定您可以連線到查詢中參考的資料庫。

限制

查詢受限於 ~2,000 個字元,因為瀏覽器限制、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 實例已經執行,執行中的實例會開啟新的索引卷標,並在其中執行查詢。

URI 會開啟 Kusto.Explorer 並執行指定的查詢。 如果已經有執行中的實例,則會開啟新的索引標籤。

查詢可能會變長。 若要減少查詢超過最大長度的機會,請使用 String Kusto.Data.Common.CslCommandGenerator.EncodeQueryAsBase64Url(string query) Kusto 用戶端連結庫中可用的 方法。 此方法會產生更精簡的查詢版本。 Kusto.Explorer 也會辨識較短的格式。

<https://\BaseAddress>/groups/1234ab-cd55-6789-0123-e4567fg890hi/databases/01234abc-defg-6789-4567fg890hi?experience=power-bi&extensionScenario=openArtifact&query=1234AAAAAAAAAAAAA567890BBBBBBBBBBBB01234567890CCCCCCC1234AAAAAAAAA567890BBBBBBBBBBBBBBBB01234567890CCCCCCCCC1234AAAAAAAAAAAAA567890BBBBBBBBBBBBBBBBBB01234567890CCCCCCCCC%AB%

藉由套用下列轉換,查詢會更加精簡:

 UrlEncode(Base64Encode(GZip(original query)))

Kusto.Explorer 命令行自變數

命令行自變數可用來設定工具,以在啟動時執行更多函式。 例如,載入腳本並連線到叢集。 因此,命令行自變數不會取代任何 Kusto.Explorer 功能。

命令行自變數會傳遞為用來開啟應用程式的URL的一部分,類似於 查詢深層連結

命令行自變數語法

Kusto.Explorer 支援下列語法中的數個命令行自變數(順序很重要):

[LocalScriptFile] [QueryString]

命令列引數

命令列引數 描述
LocalScriptFile 本機電腦上的文稿檔名稱,其擴展名 .kql必須為 。 如果檔案存在,Kusto.Explorer 會在檔案啟動時自動載入該檔案。
QueryString 使用 HTTP 查詢字串格式的字串。 此方法提供更多屬性,如下表所述。

Querystring 自變數

Argument 描述
要執行的查詢
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>"

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

重要

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

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

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

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

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

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

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

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

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

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