本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將儲存的物件從 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。
遷移概觀
遷移程序包含下列高階步驟:
-
從 OpenSearch Dashboards 匯出儲存的物件 – 使用 OpenSearch Dashboards 儲存的物件管理 UI 或匯出 API,將儀表板、視覺效果、索引模式和其他物件下載為換行分隔 JSON (NDJSON) 檔案。
-
建立 OpenSearch UI 應用程式和工作區 – 如果您尚未這麼做,請建立 OpenSearch UI 應用程式和工作區來接收匯入的物件。
-
在 OpenSearch UI 中註冊資料來源 – 將您的 OpenSearch 網域與 OpenSearch UI 應用程式建立關聯,並將其註冊為工作區內的資料來源。匯入物件中的索引模式會參考此資料來源。
-
將儲存的物件匯入 OpenSearch UI – 使用 OpenSearch UI 儲存的物件管理 UI 或匯入 API,將 NDJSON 檔案上傳到目標工作區。
-
驗證匯入的物件 – 在 OpenSearch UI 中開啟儀表板和視覺化,以驗證它們是否正確顯示,以及資料是否從相關聯的網域或集合中流動。
先決條件
在遷移之前,請確認下列先決條件:
-
您擁有呼叫 Amazon OpenSearch Service 和 OpenSearch APIs 所需的必要 IAM 許可。如需詳細資訊,請參閱建立 Amazon OpenSearch Service 應用程式所需的許可。
-
您可以存取要遷移的網域或集合和 OpenSearch Dashboards。
-
您已建立 OpenSearch UI 應用程式。如需建立應用程式和工作區的資訊,請參閱 Amazon OpenSearch Service 中的 OpenSearch 使用者介面入門。
-
您已將相同的網域或集合關聯至 OpenSearch UI 應用程式。如需建立資料來源關聯的相關資訊,請參閱 管理資料來源關聯和虛擬私有雲端存取許可。
注意
OpenSearch UI 僅支援 OpenSearch 1.3 版和更新版本。在嘗試遷移儲存的物件之前,請確認您的 OpenSearch 網域執行的是 1.3 版或更新版本。
步驟 1:從 OpenSearch Dashboards 匯出儲存的物件
使用管理 UI 或匯出 API 從 OpenSearch Dashboards 匯出您儲存的物件。匯出會產生以換行分隔的 JSON (NDJSON) 檔案,其中包含所有選取的已儲存物件類型及其相依性。
在 OpenSearch Dashboards 上手動匯出
使用 OpenSearch Dashboards 管理 UI 匯出儲存的物件
-
開啟您的 OpenSearch Dashboards 執行個體。
-
在左側導覽面板中,選擇管理。
-
在儀表板管理下,選擇已儲存的物件。
-
選取您要匯出的已儲存物件。若要匯出特定類型的所有物件,請使用搜尋列依類型篩選。若要匯出所有物件,請選取資料表標頭中的核取方塊。
-
選擇 Export (匯出)。
-
在匯出儲存的物件對話方塊中,確定已選取包含相關物件。此選項包含所選已儲存物件所依賴的所有物件,例如視覺效果所參考的索引模式。只有在您想要手動管理相依性時,才清除此選項。
-
選擇匯出,將
.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 }' \ -osaved-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 }' \ -osaved-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 匯入儲存的物件
-
開啟您的 OpenSearch UI 應用程式並導覽至目標工作區。
-
在工作區中,從頂端導覽中選擇資產,或前往工作區資產頁面。
-
選擇匯入以開啟匯入資產對話方塊。
-
選擇選取檔案,然後選取您從 OpenSearch Dashboards 匯出
.ndjson的檔案。 -
針對衝突管理,選擇下列其中一項:
-
使用唯一 IDs(預設) – 為所有匯入的物件產生新 IDs,避免與現有資產衝突。
-
檢查現有資產 – 檢查與現有物件的衝突。選取時,請選擇下列其中一個子選項:
-
自動覆寫衝突 – 自動取代具有相同 ID 的現有資產。
-
請求對衝突採取動作 – 系統會提示您個別解決每個衝突。
-
-
-
選擇匯入。
-
檢閱匯入摘要。
透過 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_KEY、 AWS_ACCESS_KEY_ID和 AWS_SESSION_TOKEN(如果使用臨時登入資料)。