你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Kusto.Explorer
适用于:✅Microsoft Fabric✅Azure 数据资源管理器
Kusto.Explorer 是一个桌面应用程序,可让你在易于使用的用户界面中使用 Kusto 查询语言来浏览数据。 本文介绍如何使用搜索和查询模式、如何共享查询以及如何管理群集、数据库和表。
Search++ 模式
使用 Search++ 模式,可在一个或多个表中使用搜索语法搜索字词。
在“主页”选项卡的“查询”下拉菜单中,选择“搜索++”。
选择“多个表”。
在“选择表”下定义要搜索的表,然后选择“确定”。
在“编辑”框中,输入搜索短语,然后选择“开始”。
表/时间段网格的热图显示出现的字词以及它们出现的位置。
在网格中选择一个单元格,然后选择“查看详细信息”,在结果窗格中显示相关条目。
查询模式
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 提供了一种便捷方式,可以通过电子邮件共享查询和查询结果。
在 Kusto.Explorer 中运行查询。
在“ 开始 ”选项卡的“ 共享 ”部分中,选择“查询”和“ 结果”到剪贴板 (或按 Ctrl+Shift+C)。
Kusto.Explorer 将以下内容复制到剪贴板:
- 你的查询
- 查询结果(表或图表)
- Kusto 群集和数据库的连接详细信息
- 一个自动重新运行查询的链接
在 Kusto.Explorer 中运行查询。
在“ 开始 ”选项卡的“ 共享 ”部分中,选择“查询”和“ 结果”到剪贴板 (或按 Ctrl+Shift+C)。
Kusto.Explorer 将以下内容复制到剪贴板:
- 你的查询
- 查询结果(表或图表)
- eventhouse 和数据库的连接详细信息
- 一个自动重新运行查询的链接
深层链接查询
可以创建一个 URI,当在浏览器中打开该 URI 时,它将在本地打开 Kusto.Explorer,并在指定的 Kusto 数据库上运行特定的查询。
注意
出于安全原因,禁用了管理命令的深层链接。
创建深层链接
创建深层链接最简单的方法是在 Kusto.Explorer 中编写查询,然后使用 Query and results to Clipboard
将查询(包括深层链接和结果)复制到剪贴板。 然后,你可以通过电子邮件共享它。
复制到电子邮件时,要执行的大量链接以小字体显示。 例如:
执行:[Web] [桌面] [Web (镜头)] [桌面 (SAW)] https://trd-1234.kusto.fabric.microsoft.com
Web 链接将在 Azure 数据资源管理器中打开查询。 桌面链接是深层链接。 它将在 Kusto.Explorer 中打开查询,并相应地设置上下文。
如果将链接移动到电子邮件并按 Ctrl+K,则可以看到实际 URL。
https://help.kusto.windows.net/Samples?web=0&query=H4sIAAAAAAAEAAsuyS%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
将 your_cluster 替换为 Azure 数据资源管理器群集的名称<>。
将查询链接直接粘贴到 Kusto.Explorer 查询窗格中。
为 URI 中的每个查询参数提供一个参数。 若要复制 URI,请在 Fabric 的 KQL 查询窗格中,选择“ 将查询>链接复制到剪贴板”。
粘贴 Kusto.Explorer 查询窗格中的链接。
注意
若要确保在 Kusto.Explorer 中运行查询,请确保可以连接到查询中引用的数据库。
限制
由于浏览器限制、HTTP 代理和验证链接的工具(如 Microsoft Outlook),查询限制为约 2,000 个字符。 该限制是近似值,因为它取决于群集和数据库名称的长度。 有关详细信息,请参阅 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=1234AAAAAAAAAAA567890BBBBBBBBBBBB01234567890CCCCCCC1234AAAAAAAAAAAAAAA567890BBBBBBBBBBBBBBBBBB01234567890CCCCCCCCC1234AAAAAAAAAAAAAAAAA567890BBBBBBBBBBBBBBBBBBBBBBBBBBBB01234567890CCCCCCCCC%AB%AB%AB%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
并配置为与群集help
Samples
通信的脚本文件启动 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>"
管理数据库、表或函数授权主体
重要
只有管理员才能在自己的范围中添加或删除授权主体。
若要查看授权主体的列表,请在“连接”面板中右键单击目标实体,然后选择“管理数据库授权主体”。 (也可以从“管理”菜单中选择此选项。)
选择“添加主体”以添加授权主体。
提供主体详细信息,然后选择“添加主体”。
确认要添加授权主体。
要删除现有授权主体,请选择“删除主体”并确认操作。