將儲存的物件從 OpenSearch Dashboards 遷移至 OpenSearch UI - Amazon OpenSearch Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將儲存的物件從 OpenSearch Dashboards 遷移至 OpenSearch UI

如果您在 OpenSearch Dashboards 中有現有的儀表板、視覺化效果、索引模式和其他已儲存的物件,您可以在 OpenSearch UI 中遷移和重複使用它們。

遷移至 OpenSearch UI 的優點:

  • 高可用性 – OpenSearch UI 託管在 中 AWS 雲端 ,並在網域升級和維護期間保持可用,而 OpenSearch Dashboards 託管在網域內,將暫時無法使用。

  • 多個資料來源 – OpenSearch UI 可以跨多個資料來源提供合併的單一窗格,包括 OpenSearch 網域、無伺服器集合,以及與 Amazon S3 和 Amazon CloudWatch 的資料連線;而每個 OpenSearch Dashboards 只能使用一個網域或集合。

  • OpenSearch UI 提供 AI Assistant 和 Workspaces 等其他功能。進一步了解:在 Amazon OpenSearch Service 中使用 OpenSearch UI

遷移概觀

遷移程序包含下列高階步驟:

  1. 從 OpenSearch Dashboards 匯出儲存的物件 – 使用 OpenSearch Dashboards 儲存的物件管理 UI 或匯出 API,將儀表板、視覺效果、索引模式和其他物件下載為換行分隔 JSON (NDJSON) 檔案。

  2. 建立 OpenSearch UI 應用程式和工作區 – 如果您尚未這麼做,請建立 OpenSearch UI 應用程式和工作區來接收匯入的物件。

  3. 在 OpenSearch UI 中註冊資料來源 – 將您的 OpenSearch 網域與 OpenSearch UI 應用程式建立關聯,並將其註冊為工作區內的資料來源。匯入物件中的索引模式會參考此資料來源。

  4. 將儲存的物件匯入 OpenSearch UI – 使用 OpenSearch UI 儲存的物件管理 UI 或匯入 API,將 NDJSON 檔案上傳到目標工作區。

  5. 驗證匯入的物件 – 在 OpenSearch UI 中開啟儀表板和視覺化,以驗證它們是否正確顯示,以及資料是否從相關聯的網域或集合中流動。

先決條件

在遷移之前,請確認下列先決條件:

注意

OpenSearch UI 僅支援 OpenSearch 1.3 版和更新版本。在嘗試遷移儲存的物件之前,請確認您的 OpenSearch 網域執行的是 1.3 版或更新版本。

步驟 1:從 OpenSearch Dashboards 匯出儲存的物件

使用管理 UI 或匯出 API 從 OpenSearch Dashboards 匯出您儲存的物件。匯出會產生以換行分隔的 JSON (NDJSON) 檔案,其中包含所有選取的已儲存物件類型及其相依性。

在 OpenSearch Dashboards 上手動匯出

使用 OpenSearch Dashboards 管理 UI 匯出儲存的物件
  1. 開啟您的 OpenSearch Dashboards 執行個體。

  2. 在左側導覽面板中,選擇管理

  3. 儀表板管理下,選擇已儲存的物件

  4. 選取您要匯出的已儲存物件。若要匯出特定類型的所有物件,請使用搜尋列依類型篩選。若要匯出所有物件,請選取資料表標頭中的核取方塊。

  5. 選擇 Export (匯出)。

  6. 匯出儲存的物件對話方塊中,確定已選取包含相關物件。此選項包含所選已儲存物件所依賴的所有物件,例如視覺效果所參考的索引模式。只有在您想要手動管理相依性時,才清除此選項。

  7. 選擇匯出,將.ndjson檔案下載到您的本機電腦。

提示

當您選擇包含相關物件時,匯出的 NDJSON 檔案會包含轉譯所選儀表板和視覺化所需的所有已儲存物件,包括其相依索引模式、視覺化和搜尋物件。這可簡化匯入步驟,並避免遺漏參考錯誤。

透過 API 匯出

您可以使用 OpenSearch Dashboards 已儲存物件匯出 API,以程式設計方式匯出已儲存的物件。這對於自動化遷移或將匯出步驟整合到 CI/CD 管道非常有用。

注意

如果您的 OpenSearch 網域已啟用精細存取控制,則必須在匯出請求中提供身分驗證憑證。使用您的使用者名稱和密碼新增 -u旗標,以使用 HTTP 基本身分驗證。如需有關身分驗證選項的詳細資訊,請參閱 Amazon OpenSearch Service 中的精細存取控制

下列範例會匯出具有其相關物件的所有儀表板。使用您的資訊取代預留位置的值

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
注意

若要尋找已儲存IDs,您可以使用已儲存物件 API 列出特定類型的所有物件。下列範例列出所有儀表板:

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

回應包含每個已儲存物件的 ID。在 OpenSearch Dashboards 中檢視物件時,您也可以在瀏覽器 URL 中找到 ID。

步驟 2:將儲存的物件匯入 OpenSearch UI

匯出儲存的物件之後,您可以手動或透過 API 將 NDJSON 檔案匯入 OpenSearch UI。

在 OpenSearch UI 上手動匯入

使用 OpenSearch UI 管理 UI 匯入儲存的物件
  1. 開啟您的 OpenSearch UI 應用程式並導覽至目標工作區。

  2. 在工作區中,從頂端導覽中選擇資產,或前往工作區資產頁面。

  3. 選擇匯入以開啟匯入資產對話方塊。

  4. 選擇選取檔案,然後選取您從 OpenSearch Dashboards 匯出.ndjson的檔案。

  5. 針對衝突管理,選擇下列其中一項:

    • 使用唯一 IDs(預設) – 為所有匯入的物件產生新 IDs,避免與現有資產衝突。

    • 檢查現有資產 – 檢查與現有物件的衝突。選取時,請選擇下列其中一個子選項:

      • 自動覆寫衝突 – 自動取代具有相同 ID 的現有資產。

      • 請求對衝突採取動作 – 系統會提示您個別解決每個衝突。

  6. 選擇匯入

  7. 檢閱匯入摘要。

透過 API 匯入

若要使用具有 AWS 簽章第 4 版身分驗證的 API 匯入已儲存的物件,您必須先取得資料來源 ID,然後在匯入請求中使用它。使用您的資訊取代預留位置的值

步驟 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 登入資料設定為環境變數:AWS_SECRET_ACCESS_KEYAWS_ACCESS_KEY_IDAWS_SESSION_TOKEN(如果使用臨時登入資料)。