正在加载

旧版 URL 别名

本页介绍了旧版 URL 别名:它们是什么、来自哪里以及如何禁用它们。

许多已保存对象类型在 Kibana 8.0 中进行了转换,因此它们最终可以在 空间之间共享。在 8.0 之前,您可以在两个不同的空间中拥有两个类型相同且 ID 相同的对象。此转换的一部分是确保给定类型的所有对象 ID 在**所有空间中都是全局唯一的**。

Kibana 为每个需要新 ID 的已保存对象创建一个名为**旧版 URL 别名**的特殊实体。此旧版 URL 别名允许 Kibana 保留这些对象存在的任何深度链接 URL。

在两种情况下会生成旧版 URL 别名。

  1. 在迁移期间,当对象的命名空间类型从单命名空间类型转换为多命名空间类型时。如果对象位于非默认空间中,它会获得一个新 ID,并生成一个旧版 URL 别名。
  2. 在复制/导入已保存对象期间,当任何对象需要新 ID**并且启用了 compatibilityMode 选项**时(有关更多信息,请参阅将已保存对象复制到空间 API 和 PR #149021)。

考虑以下场景

您有 Kibana 7.16,并且您创建了一个新的仪表盘。此仪表盘的 ID 为 "123"。您创建了一个名为 "Bill’s space" 的新空间,并将您的仪表盘复制到另一个空间。现在您有两个不同的仪表盘,可以通过以下 URL 访问

  • **默认空间**:http://localhost:5601/app/dashboards#/view/123
  • **Bill’s space**:http://localhost:5601/s/bills-space/app/dashboards#/view/123

您经常使用这两个仪表盘,因此您将它们添加到 Web 浏览器的书签中。一段时间后,您决定升级到 Kibana 8.0。当这两个仪表盘经过转换过程时,“Bill’s space” 中的那个仪表盘的 ID 将更改为 "456"。访问该仪表盘的 URL 是不同的——不过不用担心,该仪表盘有一个旧版 URL 别名。

如果您使用书签通过旧 URL 访问该仪表盘,Kibana 会检测到您正在使用旧版 URL,并找到新的对象 ID。如果您导航到 http://localhost:5601/s/bills-space/app/dashboards#/view/123,您会看到一条消息,指示该仪表盘有一个新的 URL,并且您会自动重定向到 http://localhost:5601/s/bills-space/app/dashboards#/view/456

您在默认空间中有一个数据视图和两个仪表盘,但您也希望在另一个空间中拥有它们。其中一个仪表盘包含一个 Markdown 可视化,其中包含指向另一个仪表盘的链接 - 所谓的**弱链接**。这是一个弱链接,因为引用的对象的 ID 未添加到对象的 references 数组中,因此对象之间没有明确的关系。

如果您使用将已保存对象复制到空间 API 在另一个空间中创建这些资产的新副本**而没有将 compatibilityMode 选项设置为 true**,则 Markdown 链接将中断。在目标空间中创建的复制对象会收到一个新 ID,并且 Markdown 可视化中的弱链接将指向来自原始空间的源对象的 ID。

通过在使用 copy API 时将 compatibilityMode 设置为 true,将为任何需要新 ID 的对象生成旧版别名。这允许解析指向第二个仪表盘的弱链接。虽然找不到具有弱链接 ID 的仪表盘,但会生成具有此源 ID 的旧版别名,并且它将包含仪表盘的新本地副本的目标 ID。

旧版 URL 别名旨在完全透明,但在极少数情况下,这可能会导致错误。例如,您可能有一个仪表盘,其中一个可视化无法加载,从而将您定向到此页面。如果您在这种情况下遇到错误,您可能需要完全禁用旧版 URL 别名。这会使已保存的对象保持不变,并且您不会丢失任何数据——您只是无法使用旧 URL 访问该已保存对象。

要禁用旧版 URL 别名,您需要三条信息:targetSpacetargetTypesourceId。然后使用 _disable_legacy_url_aliases API 禁用有问题的旧版 URL 别名。

© . All rights reserved.