View a markdown version of this page

将保存的对象从 OpenSearch 仪表板迁移到 OpenSearch 用户界面 - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将保存的对象从 OpenSearch 仪表板迁移到 OpenSearch 用户界面

如果您在 OpenSearch 仪表板中已有仪表板、可视化、索引模式和其他保存的对象,则可以在 OpenSearch 用户界面中迁移和重复使用它们。

迁移到 OpenSearch UI 的好处:

  • 高可用性 — OpenSearch 用户界面托管在中 Amazon Web Services 云 并在域升级和维护期间保持可用状态,而 OpenSearch 仪表板托管在域内并将暂时不可用。

  • 多数据源 — OpenSearch 用户界面可以为多个数据源提供统一的单一管理平台,包括 OpenSearch 域、无服务器集合以及与 Amazon S3 和 Amazon 的数据连接 CloudWatch;而每个 OpenSearch 控制面板只能使用一个域或集合。

  • OpenSearch 用户界面上提供人工智能助手和工作区等其他功能。了解更多:在亚马逊 OpenSearch 服务中使用 OpenSearch 用户界面.

迁移概述

迁移过程包括以下高级步骤:

  1. 从 OpenSearch 仪表板导出保存的对象 -使用 OpenSearch 仪表板保存的对象管理用户界面或导出 API 将仪表板、可视化、索引模式和其他对象下载为以换行符分隔的 JSON (NDJSON) 文件。

  2. 创建 OpenSearch UI 应用程序和工作区 -如果尚未创建,请创建 OpenSearch UI 应用程序和工作区以接收导入的对象。

  3. 在 OpenSearch UI 中注册数据源 -将您的 OpenSearch 域与 OpenSearch UI 应用程序关联并将其注册为工作空间内的数据源。导入对象中的索引模式引用此数据源。

  4. 将保存的对象导入 OpenSearch 用户界面 -使用 OpenSearch 用户界面保存的对象管理用户界面或导入 API 将 NDJSON 文件上传到目标工作区。

  5. 验证导入的对象 -在 OpenSearch UI 中打开仪表板和可视化效果,以验证它们是否正确显示以及数据是否来自关联域或集合。

先决条件

在迁移之前,请验证以下先决条件:

注意

OpenSearch 用户界面仅支持 1.3 及更高 OpenSearch 版本。在尝试迁移保存的对象之前,请验证您的 OpenSearch 域运行的是 1.3 或更高版本。

步骤 1:从 OpenSearch 仪表板导出保存的对象

使用管理用户界面或导出 API 将保存的对象从 OpenSearch 仪表板中导出。导出会生成一个以换行符分隔的 JSON (NDJSON) 文件,其中包含所有选定的已保存对象类型及其依赖关系。

在 OpenSearch 仪表板上手动导出

使用 OpenSearch 仪表板管理 UI 导出保存的对象
  1. 打开您的 OpenSearch 仪表板实例。

  2. 在左侧导航面板中,选择管理。

  3. 在 “仪表板管理” 下,选择 “保存的对象” 。

  4. 选择要导出的已保存对象。要导出特定类型的所有对象,请使用搜索栏按类型进行筛选。要导出所有对象,请选中表格标题中的复选框。

  5. 选择导出。

  6. 在 “导出保存的对象” 对话框中,确保选中 “包括相关对象”。此选项包括所选保存对象所依赖的所有对象,例如可视化引用的索引模式。仅当你打算手动管理依赖关系时,才清除此选项。

  7. 选择 “导出” 将.ndjson文件下载到本地计算机。

提示

当您选择 “包含相关对象” 时,导出的 NDJSON 文件包含呈现选定仪表板和可视化效果所需的所有已保存对象,包括其依赖索引模式、可视化和搜索对象。这简化了导入步骤并避免了遗漏参考错误。

通过 API 导出

您可以使用 OpenSearch 仪表板保存的对象导出 API 以编程方式导出保存的对象。这对于自动迁移或将导出步骤集成到管道中很有用。 CI/CD

注意

如果您的 OpenSearch 网域启用了精细的访问控制,则必须在导出请求中提供身份验证凭据。通过添加带有用户名和密码的-u标志来使用 HTTP 基本身份验证。有关身份验证选项的更多信息,请参阅 Fine-grained Amazon OpenSearch 服务中的访问控制。

以下示例导出所有仪表板及其相关对象。将 placeholder values 替换为您自己的信息。

curl -X POST \ "https://dashboards-endpoint/_dashboards/api/saved_objects/_export" \ -u 'master-username:master-password' \ -H "Content-Type: application/json" \ -H "osd-xsrf: true" \ -d '{ "type": ["dashboard", "visualization", "index-pattern", "search"], "includeReferencesDeep": true, "excludeExportDetails": false }' \ -o saved-objects-export.ndjson

如果您的域未启用精细访问控制,则可以省略该标志。-u

要按 ID 导出特定的已保存对象,请使用objects参数而不是type:

curl -X POST \ "https://dashboards-endpoint/_dashboards/api/saved_objects/_export" \ -u 'master-username:master-password' \ -H "Content-Type: application/json" \ -H "osd-xsrf: true" \ -d '{ "objects": [ {"type": "dashboard", "id": "dashboard-id"}, {"type": "visualization", "id": "visualization-id"} ], "includeReferencesDeep": true }' \ -o saved-objects-export.ndjson
注意

要查找保存的对象 ID,您可以使用保存的对象 API 列出特定类型的所有对象。以下示例列出了所有仪表板:

curl -X GET \ "https://dashboards-endpoint/_dashboards/api/saved_objects/_find?type=dashboard" \ -u 'master-username:master-password'

响应包含每个已保存对象的 ID。在 OpenSearch 控制板中查看对象时,您还可以在浏览器 URL 中找到 ID。

第 2 步:将保存的对象导入 OpenSearch UI

导出保存的对象后,您可以手动或通过 API 将 NDJSON 文件导入 OpenSearch 用户界面。

在 OpenSearch UI 上手动导入

使用 OpenSearch UI 管理 UI 导入保存的对象
  1. 打开您的 OpenSearch UI 应用程序并导航到目标工作区。

  2. 在工作区中,从顶部导航栏中选择 “资产” 或转到工作空间资产页面。

  3. 选择 “导入” 打开 “导入资源” 对话框。

  4. 选择选择文件,然后选择您从 OpenSearch 仪表板导出的.ndjson文件。

  5. 对于冲突管理,请选择以下选项之一:

    • 使用唯一 ID 创建新资源(默认)-为所有导入的对象生成新 ID,避免与现有资源发生冲突。

    • 检查现有资源 -检查是否与现有对象发生冲突。选中后,选择以下子选项之一:

      • 自动覆盖冲突 -自动替换具有相同 ID 的现有资产。

      • 请求对冲突采取行动 -系统会提示您单独解决每个冲突。

  6. 选择导入。

  7. 查看导入摘要。

通过 API 导入

要使用带有 Amazon 签名版本 4 身份验证的 API 导入保存的对象,必须先获取数据源 ID,然后在导入请求中使用它。将 placeholder values 替换为您自己的信息。

第 1 步:获取工作空间的数据源 ID:

curl -X GET \ "https://opensearch-ui-endpoint/w/workspace-id/api/saved_objects/_find?type=data-source" \ --aws-sigv4 "aws:amz:region:opensearch" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ -H "x-amz-security-token: $AWS_SESSION_TOKEN" \ -H "osd-xsrf: true"
注意

响应包括数据源 ID。在 OpenSearch UI 中查看数据源时,您还可以在浏览器 URL 中找到数据源 ID。

步骤 2:使用步骤 1 中的数据源 ID 导入保存的对象:

curl -X POST \ "https://opensearch-ui-endpoint/w/workspace-id/api/saved_objects/_import?overwrite=true&dataSourceId=data-source-id" \ --aws-sigv4 "aws:amz:region:opensearch" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ -H "x-amz-security-token: $AWS_SESSION_TOKEN" \ -H "osd-xsrf: true" \ -F "file=@saved-objects-export.ndjson"
注意

这些示例使用 curl 的内置--aws-sigv4选项(在 curl 7.75 或更高版本中可用)对请求进行签名。在运行命令:AWS_ACCESS_KEY_ID、和AWS_SESSION_TOKEN(如果使用临时 Amazon 证书)之前AWS_SECRET_ACCESS_KEY,将您的证书设置为环境变量。