使用 Kusto.Explorer
適用於: ✅Microsoft網狀架構✅Azure 數據總管
Kusto.Explorer 是一種傳統型應用程式,可讓您在易於使用的使用者介面中使用 Kusto 查詢語言 來探索數據。 本文說明如何使用搜尋和查詢模式、共用查詢,以及管理叢集、資料庫和數據表。
Search++ 模式
Search++ 模式可讓您跨一或多個數據表使用搜尋語法來搜尋字詞。
在 [常用] 索引標籤的 [查詢] 下拉式清單中,選取 [搜尋++]。
選取 [多個數據表]。
在 [選擇數據表] 下,定義要搜尋的數據表,然後選取 [確定]。
在編輯方塊中,輸入您的搜尋詞組,然後選取 [ 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 查詢語言。
注意
查詢表達式中的空白行可能會影響執行查詢的哪個部分。
如果未選取任何文字,則會假設查詢或命令是以空行分隔。 如果選取文字,則會執行選取的文字。
用戶端查詢參數化
注意
Kusto 中有兩種類型的查詢參數化技術:
語言整合式查詢參數化 是實作伺服器端的,而且是要供以程式設計方式查詢服務的應用程式使用。 本檔未說明這個方法。
用戶端查詢參數化是 Kusto.Explorer 應用程式的一項功能。 這相當於先在查詢上使用字串取代作業,然後再傳送服務來執行這些作業。 語法不是查詢語言本身的一部分,而且無法透過 Kusto.Explorer 以外的方式將查詢傳送至服務時使用。
如果您在多個查詢或多個索引標籤中使用相同的值,則很難在所使用的每個位置變更該值。 為了方便起見,Kusto.Explorer 支援查詢參數。 查詢參數會在索引標籤之間共用,以便輕鬆地重複使用。 參數會以 {} 括弧表示。 例如: {parameter1}
。
您可以輕鬆地定義和編輯現有的查詢參數:
您可以有多個參數集(列在 [參數集] 下拉式方塊中)。 選取 [新增] 或 [刪除目前] 以操作參數集清單。
共用查詢和結果
在 Kusto.Explorer 中,您可以透過電子郵件共用查詢和結果。 您也可以建立深層連結,以在瀏覽器中開啟並執行查詢。
透過電子郵件共用查詢和結果
Kusto.Explorer 提供方便的方式,透過電子郵件共用查詢和查詢結果。
在 [首頁] 索引標籤的 [共用] 區段中,選取 [查詢和結果至剪貼簿] (或按 Ctrl+Shift+C)。
Kusto.Explorer 會將下列內容複製到剪貼簿:
- 您的查詢
- 查詢結果(資料表或圖表)
- Kusto 叢集和資料庫的連線詳細數據
- 自動重新執行查詢的連結
在 [首頁] 索引標籤的 [共用] 區段中,選取 [查詢和結果至剪貼簿] (或按 Ctrl+Shift+C)。
Kusto.Explorer 會將下列內容複製到剪貼簿:
- 您的查詢
- 查詢結果(資料表或圖表)
- eventhouse 和資料庫的連線詳細數據
- 自動重新執行查詢的連結
深層鏈接查詢
您可以在瀏覽器中開啟時建立 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
深層連結和參數化查詢
您可以使用參數化查詢搭配深層連結。
- 建立要形成為參數化查詢的查詢(例如 ,
KustoLogs | where Timestamp > ago({Period}) | count
為 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> 。
將查詢連結直接貼到 Kusto.Explorer 查詢窗格中。
為 URI 中的每個查詢參數提供參數。 若要複製 URI,請在網狀架構的 KQL 查詢窗格中,選取 [將查詢>連結複製到剪貼簿]。
將連結貼到 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>"
管理資料庫、數據表或函式授權主體
重要
只有 系統管理員 可以在自己的範圍內新增或卸除授權的主體。
若要檢視授權主體清單,請在 [連線] 面板中以滑鼠右鍵按兩下目標實體,然後選取 [管理資料庫授權主體]。 (您也可以從 [管理] 選單選取此選項。
選取 [新增主體 ] 以新增授權的主體。
提供主體詳細數據,然後選取 [ 新增主體]。
確認您想要新增授權的主體。
若要卸除現有的授權主體,請選取 [卸除主體 ],然後確認動作。