使用 Kusto.Explorer
适用于:✅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 群集和数据库的连接详细信息
- 一个自动重新运行查询的链接
深层链接查询
可以创建一个 URI,当在浏览器中打开该 URI 时,它将在本地打开 Kusto.Explorer,并在指定的 Kusto 数据库上运行特定的查询。
注意
出于安全原因,禁用了管理命令的深层链接。
创建深层链接
创建深层链接最简单的方法是在 Kusto.Explorer 中编写查询,然后使用 Query and results to Clipboard
将查询(包括深层链接和结果)复制到剪贴板。 然后,你可以通过电子邮件共享它。
复制到电子邮件时,会以小字体显示一些要执行的链接。 例如:
Web 链接可在 Azure 数据资源管理器中打开查询。 “桌面”链接是深层链接。 它会在 Kusto.Explorer 中打开查询,并适当设置上下文。
如果将链接移至电子邮件中并按 CTRL+K,就能看到实际的 URL。
https://help.chinaeast2.kusto.chinacloudapi.cn/Samples?web=0&query=H4sIAAAAAAAEAAsuyS%2fKdS1LzSspVuDlqlEoLs3NTSzKrEpVSM4vzSvR0FRIqlRIyszTCC5JLCoJycxN1VEwT9EEKS1KzUtJLVIoAYolZwAlFQCB3oo%2bTAAAAA%3d%3d
深层链接和参数化查询
可以将参数化查询与深层链接结合使用。
- 创建要构成为参数化查询的查询(如
KustoLogs | where Timestamp > ago({Period}) | count
)
为 URI 中的每个查询参数提供一个参数。 若要复制 URI,请在 Azure 门户中转到群集的概述页面,然后选择该 URI。 该 URI 应采用以下格式:
https://<your_cluster>.kusto.chinacloudapi.cn/MyDatabase? web=0&query=KustoLogs+%7c+where+Timestamp+>+ago({Period})+%7c+count&Period=1h
将 your_cluster 替换为 Azure 数据资源管理器群集的名称<>。
将查询链接直接粘贴到 Kusto.Explorer 查询窗格中。
限制
由于浏览器限制、HTTP 代理和验证链接的工具(如 Microsoft Outlook),查询的字符数不得超过 2000 个。 该限制是近似值,因为它取决于群集和数据库名称的长度。 有关详细信息,请参阅 https://support.microsoft.com/kb/208427。
要减少达到字符限制的几率,请参阅获取更短的链接。
URI 的格式为:https://<ClusterCname>.kusto.chinacloudapi.cn/<DatabaseName>web=0?query=<QueryToExecute>
例如:https://help.chinaeast2.kusto.chinacloudapi.cn/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 也可以识别较短的格式。
通过以下转换,查询会变得更加简洁:
UrlEncode(Base64Encode(gzip(original query)))
Kusto.Explorer 命令行参数
命令行参数用于配置工具,以便在启动时执行更多功能。 例如,加载脚本并连接到群集。 因此,命令行参数不能替代任何 Kusto.Explorer 功能。
命令行参数作为用于打开应用程序的 URL 的一部分传递,类似于查询深层链接。
命令行参数语法
Kusto.Explorer 支持以下语法中的几个命令行参数(顺序很重要):
[LocalScriptFile] [QueryString]
命令行参数
命令行参数 | 说明 |
---|---|
LocalScriptFile | 本地计算机上脚本文件的名称,该文件必须具有扩展名 .kql 。 如果该文件存在,则 Kusto.Explorer 会在启动时自动加载该文件。 |
QueryString | 使用 HTTP 查询字符串格式的字符串。 如下表所示,此方法提供了更多属性。 |
Querystring 参数
Argument | 说明 |
---|---|
要执行的查询 | |
query |
要执行的查询(gzip 压缩,然后进行 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.chinaeast2.kusto.chinacloudapi.cn/Samples;Fed=true&name=Samples"
管理数据库、表或函数授权主体
重要
只有管理员才能在自己的范围中添加或删除授权主体。
要查看授权主体列表,请右键单击“连接面板”中的目标实体,然后选择“管理数据库授权主体”。 (也可以从“管理”菜单中选择此选项。)
选择“添加主体”以添加授权主体。
提供主体详细信息,然后选择“添加主体”。
确认要添加授权主体。
要删除现有授权主体,请选择“删除主体”并确认操作。