你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Kusto.Explorer

适用于:✅Microsoft Fabric✅Azure 数据资源管理器

Kusto.Explorer 是一个桌面应用程序,可让你在易于使用的用户界面中使用 Kusto 查询语言来浏览数据。 本文介绍如何使用搜索和查询模式、如何共享查询以及如何管理群集、数据库和表。

Search++ 模式

使用 Search++ 模式,可在一个或多个表中使用搜索语法搜索字词。

  1. 在“主页”选项卡的“查询”下拉菜单中,选择“搜索++”。

  2. 选择“多个表”。

  3. 在“选择表”下定义要搜索的表,然后选择“确定”。

  4. 在“编辑”框中,输入搜索短语,然后选择“开始”。

    表/时间段网格的热图显示出现的字词以及它们出现的位置。

    Search++ Kusto Explorer

  5. 在网格中选择一个单元格,然后选择“查看详细信息”,在结果窗格中显示相关条目。

    Kusto Explorer 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 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. 将剪贴板中的内容粘贴到新的电子邮件中。 电子邮件中 Fabric KQL 数据库中共享结果的屏幕截图。

深层链接查询

可以创建一个 URI,当在浏览器中打开该 URI 时,它将在本地打开 Kusto.Explorer,并在指定的 Kusto 数据库上运行特定的查询。

注意

出于安全原因,禁用了管理命令的深层链接。

创建深层链接最简单的方法是在 Kusto.Explorer 中编写查询,然后使用 Query and results to Clipboard 将查询(包括深层链接和结果)复制到剪贴板。 然后,你可以通过电子邮件共享它。

复制到电子邮件时,要执行的大量链接以小字体显示。 例如:

执行:[Web] [桌面] [Web (镜头)] [桌面 (SAW)] https://help.kusto.windows.net/Samples

执行:[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

可以将参数化查询与深层链接结合使用。

  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

    将 your_cluster 替换为 Azure 数据资源管理器群集的名称<>。

  2. 将查询链接直接粘贴到 Kusto.Explorer 查询窗格中。

  1. 为 URI 中的每个查询参数提供一个参数。 若要复制 URI,请在 Fabric 的 KQL 查询窗格中,选择“ 将查询>链接复制到剪贴板”。

  2. 粘贴 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并配置为与群集helpSamples通信的脚本文件启动 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>"

管理数据库、表或函数授权主体

重要

只有管理员才能在自己的范围中添加或删除授权主体。

  1. 若要查看授权主体的列表,请在“连接”面板中右键单击目标实体,然后选择“管理数据库授权主体”。 (也可以从“管理”菜单中选择此选项。)

    实体下拉菜单的屏幕截图。突出显示标题为“管理数据库授权主体”的选项。

  2. 选择“添加主体”以添加授权主体。 “管理授权主体”窗口的屏幕截图。突出显示了标题为“删除主体”和“添加主体”的选项。

  3. 提供主体详细信息,然后选择“添加主体”。

    “添加授权主体”窗口的屏幕截图。突出显示了标题为“添加主体”的按钮。

  4. 确认要添加授权主体。

    “查看主体”窗口的屏幕截图,其中显示了有关添加授权主体的确认请求。

要删除现有授权主体,请选择“删除主体”并确认操作。

“删除主体”窗口的屏幕截图,其中显示了有关删除授权主体的确认请求。