UI 深层链接

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

UI 深层链接是指在 Web 浏览器中打开时会通过预先选择所需的 Kusto 群集和(可选)数据库来自动打开 UI 工具(如 Kusto.Explorer 或 Kusto.WebExplorer)的 URI。

例如,当用户选择 https://help.chinaeast2.kusto.chinacloudapi.cn/Samples?query=print%20123 时,Kusto.WebExplorer 将打开到 help.chinaeast2.kusto.chinacloudapi.cn 群集,选择 Samples 数据库作为默认数据库,然后运行关联的查询。

UI 深层链接的工作方式是:让用户浏览器在向 URI 发出 GET 请求时接收重定向响应,然后根据浏览器设置来允许对此重定向进行处理。 (例如,指向 Kusto.Explorer 的 UI 深层链接要求将浏览器配置为允许启动 ClickOnce 应用程序。)

UI 深层链接必须是有效的 URI,并且具有以下格式:

https:// Cluster / [DatabaseName] [? Parameters]

其中:

  • Cluster 是群集自身的基址。 此部分是必需的,但可以通过在 Parameters 中指定查询参数 uri 进行替代

  • DatabaseName 是 Cluster 中要用作作用域内数据库的数据库的名称。 如果未设置此属性,该 UI 工具决定使用哪个数据库(如果有)。 (如果查询或命令是由 Parameters 指定的,建议在 URI 中包含 DatabaseName 的正确值。)

  • Parameters 可用于指定其他参数以控制 UI 深层链接的行为。 下表显示了所有 Kusto“官方”UI 工具支持的参数。 本文档稍后将介绍特定于工具的参数。

    参数 描述
    web 选择 UI 工具。 默认情况下,设置为 1 时,将使用 Kusto.WebExplorer。 如果设置为 0,将使用 Kusto.Explorer。 若设置为 3,则将使用没有预先存在的选项卡的 Kusto.WebExplorer。
    query 打开 UI 工具时将启动的查询或管理命令的文本。
    querysrc 指向 Web 资源的 URI,该 Web 资源包含打开 UI 工具时将启动的查询或管理命令的文本。
    name 连接群集的连接名称。
    autorun 如果设置为 false,则要求用户主动运行查询,而不是在单击链接时自动运行查询。

    query 的值可以使用标准的 HTTP 查询参数编码。 此外,还可以使用转换 base64(gzip(text)) 对其进行编码,从而按浏览器默认 URI 长度限制将长查询或管理命令压缩到 Git。

示例

下面是一些链接示例:

  • https://help.chinaeast2.kusto.chinacloudapi.cn/:当用户代理(如浏览器)发出 GET / 请求时,该请求会被重定向到已配置的用来查询 help 群集的默认 UI 工具。
  • https://help.chinaeast2.kusto.chinacloudapi.cn/Samples:当用户代理(如浏览器)发出 GET /Samples 请求时,该请求会被重定向到已配置的用来查询 help 群集 Samples 数据库的默认 UI 工具。
  • http://help.chinaeast2.kusto.chinacloudapi.cn/Samples?query=StormEvents:当用户(如浏览器)发出 GET /Samples?query=StormEvents 请求时,该请求会被重定向到已配置的用来查询 help 群集 Samples 数据库的默认 UI 工具,并发出 StormEvents 查询。

备注

深层链接 URI 不需要进行身份验证,因为身份验证由用于重定向的 UI 工具执行。 任何 Authorization HTTP 标头(如果已提供)都会被忽略。

重要

出于安全原因,UI 工具不会自动执行管理命令,即使在深层链接中指定了 queryquerysrc 也是如此。

到 Kusto.Explorer 的深层链接

此 REST API 会执行重定向操作,该操作使用专门设计的启动参数(这些参数可打开与特定群集的连接并对该群集执行查询)来安装和运行 Kusto.Explorer 桌面客户端工具。

有关用于启动 Kusto.Explorer 的重定向 URI 语法的说明,请参阅与 Kusto.Explorer 的深层链接

到 Kusto.WebExplorer 的深层链接

除了已提到的查询参数外,以下参数可能会显示在指向 Kusto.WebExplorer 的 UI 深层链接中:

参数 说明
login_hint 设置用户的用户登录名(电子邮件)。
tenant 设置用户的 Microsoft Entra 租户 ID。

若要指示 Kusto.WebExplorer 将另一个 Microsoft Entra 租户中的用户登录,请指定用户的 login_hinttenant

重定向指向以下 URI:

https:// BaseAddress /clusters/ Cluster [/databases/ DatabaseName] [? Parameters]

在 URI 中指定查询或管理命令

当指定了 URI 查询字符串参数 query 时,必须根据 URI 查询字符串编码 HTML 规则对其进行编码。 也可通过 gzip 压缩查询或管理命令的文本,然后通过 base64 编码对其进行编码。 利用此功能,可以发送更长的查询或控制命令(因为后一种编码方法会生成较短的 URI)。

通过间接寻址指定查询或管理命令

如果查询或管理命令很长,则即使使用 gzip/base64 对其进行编码,也仍可能会超过用户代理的最大 URI 长度。 也可提供 URI 查询字符串参数 querysrc,其值是一个短 URI,指向保存查询或管理命令文本的 Web 资源。

例如,此值可以是 Azure Blob 存储所承载的文件的 URI。

备注

如果深层链接指向 Web 应用程序 UI 工具,则必须将提供查询或管理命令的 Web 服务(即提供 querysrc URI 的服务)配置为支持将 CORS 用于 dataexplorer.azure.cn

此外,如果该服务需要身份验证/授权信息,则必须将其作为 URI 本身的一部分提供。

例如,如果 querysrc 指向 Azure Blob 存储中的 blob,则必须将存储帐户配置为支持 CORS,并使 blob 本身成为公共的(这样就可以在没有安全声明的情况下下载它),或将相应的 Azure 存储 SAS 添加到 URI。 可通过 Azure 门户Azure 存储资源管理器执行 CORS 配置。 请参阅 Azure 存储中的 CORS 支持