Looker (Google Cloud Core) 執行個體的一次性資料匯入或匯出作業

您可能需要從一個 Looker (Google Cloud Core) 執行個體匯出 Looker (Google Cloud Core) 執行個體資料 (包括建立的內容和 Looker (Google Cloud Core) 執行個體的內部資料),然後將該資料匯入另一個 Looker (Google Cloud Core) 執行個體。您可能會基於下列幾種原因而需要匯出及匯入資料:

  • 您想升級或降級至其他 版本 的 Looker (Google Cloud Core)。
  • 您想新增只能在建立執行個體時啟用的設定,例如 Private Service ConnectCMEK
  • 您想移至其他專案中的 Looker (Google Cloud Core) 執行個體。
  • 您想遷移至其他區域的 Looker (Google Cloud Core) 執行個體。
  • 您想將非實際工作環境執行個體的資料匯出至實際工作環境執行個體。

一次性匯出作業會匯出執行個體中的所有資料、設定和內容 (包括 BigQuery 資料),但下列項目除外:

  • 系統不會匯出 Looker Studio 報表。
  • 系統不會匯出任何 Google Cloud 控制台設定,這些設定必須在每個執行個體的控制台中進行 Google Cloud 。不過,Looker (Google Cloud Core) 應用程式中 Looker 管理面板的設定會匯出。
  • 系統不會匯出執行個體中儲存的任何 OAuth 權杖。如果 OAuth 用於個別資料庫連線,匯入後,每位使用者都必須重新登入,並更新使用 OAuth 的資料庫連線權杖。
  • Looker 應用程式 API 金鑰不會匯出。由於 API 金鑰不會匯入套件,所有使用者都將無法存取現有的 API 金鑰。
  • 如果匯出後匯入的 Looker (Google Cloud Core) 執行個體,與建立匯出內容的執行個體使用不同的網路設定,您可能需要以不同方式設定與外部服務的連線。
  • 如果從某個 Google Cloud 專案的執行個體匯出的內容移至其他專案的執行個體,則必須在新專案中設定 IAM 權限,讓使用者存取執行個體。

排定的匯出工作執行時,無法進行一次性資料匯出和匯入作業。如要瞭解排定匯出工作,請參閱「為 Looker (Google Cloud Core) 執行個體建立排定匯出工作」說明文件頁面。

必要角色

如要取得匯入或匯出 Looker (Google Cloud Core) 執行個體資料所需的權限,請要求管理員在建立執行個體的專案中,授予您「Looker 管理員 」(roles/looker.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

將 Looker (Google Cloud Core) 執行個體資料匯出至 Cloud Storage bucket

以下各節說明如何匯出執行個體資料。

匯出至 Cloud Storage bucket 時所需的物件和權限

匯出至 Cloud Storage bucket

如要匯出資料,請選取下列其中一個選項:

主控台

  1. 前往 Google Cloud 控制台的 Looker 頁面。

    前往 Looker 執行個體

  2. 在頁面頂端的「Select organization」(選取機構) 下拉式清單中,選取要匯出資料的 Looker (Google Cloud Core) 執行個體所屬的機構資源。

  3. 按一下要匯出資料的執行個體名稱。

  4. 按一下 [匯出]

  5. 展開「單次匯出」分頁。

  6. 在「Export Bucket」(匯出值區) 欄位中,指定要建立匯出構件的值區位置。您可以在輸入欄位中輸入路徑 (如 <bucket_name>/<folder_name>),也可以瀏覽並選取 bucket 中的適當位置。

  7. 在「選取 Cloud KMS 金鑰」欄位中,選取用於加密匯出構件的 CMEK。

  8. 按一下 [匯出]

gcloud

gcloud looker instances export INSTANCE_NAME \
--target-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME' \
--kms-key=KMS_KEY_ID

更改下列內容:

  • INSTANCE_NAME:Looker (Google Cloud Core) 執行個體的名稱,與執行個體網址無關
  • BUCKET_NAME:要建立匯出構件的 Cloud Storage bucket 位置
  • FOLDER_NAME:Cloud Storage bucket 中要放置匯出構件的資料夾
  • KMS_KEY_ID:匯入和匯出專用的 CMEK 金鑰 ID 完整路徑

將資料從 Cloud Storage 儲存空間匯入 Looker (Google Cloud Core) 執行個體

以下各節說明如何匯入執行個體資料。

從 Cloud Storage bucket 匯入資料時的必要權限

  • Looker 服務帳戶。如果您使用 Google Cloud CLI、Terraform 或 API 建立 Looker (Google Cloud Core) 執行個體,且尚未建立 Looker 服務帳戶,請建立一個
  • storage.objects.get 權限授予 Looker 服務帳戶。Storage 物件檢視者 (roles/storage.objectViewer) IAM 角色包含這項權限,因此您也可以將該角色指派給 Looker 服務帳戶。
  • 必須將 cloudkms.cryptoKeyVersions.useToDecrypt 權限指派給 Looker 服務帳戶。Cloud KMS CryptoKey 解密者 (roles/cloudkms.cryptoKeyDecrypter) 角色包含這項權限,因此您也可以將該角色指派給 Looker 服務帳戶。

從 Cloud Storage bucket 匯入

如要匯入資料,請選取下列其中一個選項:

主控台

  1. 前往 Google Cloud 控制台的 Looker 頁面。

    前往 Looker 執行個體

  2. 在頁面頂端的「Select organization」(選取機構) 下拉式清單中,選取要匯入資料的 Looker (Google Cloud Core) 執行個體所屬的機構資源。

  3. 按一下要匯入資料的執行個體名稱。

  4. 按一下 [匯入]。

  5. 在「Import Bucket」(匯入 Bucket) 欄位中,輸入路徑或瀏覽至匯出資料的 Cloud Storage 位置。選取含有 metadata.json 檔案和其他檔案的資料夾。

  6. 按一下 [匯入]。

gcloud

gcloud looker instances import INSTANCE_NAME \
--source-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME'

更改下列內容:

  • INSTANCE_NAME:Looker (Google Cloud Core) 執行個體的名稱,與執行個體網址無關
  • BUCKET_NAMEmetadata.json 檔案和其他檔案所在的 Cloud Storage bucket 位置
  • FOLDER_NAME:包含 metadata.json 檔案和其他檔案的資料夾

匯入後,系統會提示 Looker (Google Cloud Core) 使用者重新驗證,以存取使用 OAuth 進行個別使用者驗證的任何 BigQuerySnowflake 資料庫連線。這是因為 Looker (Google Cloud Core) 匯出作業不會保留個別使用者資料庫連線的 OAuth 存取權或重新整理權杖。

使用者可以透過下列其中一種方法,重新驗證資料庫:

  • 如果使用者查看的「探索」或資訊主頁使用個別 OAuth 資料庫連線,系統會顯示「登入」提示,請按照提示操作。
  • 前往「帳戶」頁面,然後選取「OAuth 連線憑證」標題下方每個資料庫的「登入」

如果自動排程或快訊是由單一使用者擁有,且參照 OAuth 連線,則該使用者必須使用 OAuth 憑證登入,這些排程或快訊才會正常運作。

排解 Looker (Google Cloud Core) 資料匯出或匯入作業的問題

本節說明如何修正可能導致匯出或匯入程序失敗的錯誤情況。

匯出時發生的錯誤

匯入作業錯誤

  • 確認您已授予 Looker 服務帳戶 Cloud Storage bucketstorage.objects.get 權限或 Storage 物件檢視者 (roles/storage.objectViewer) IAM 角色。

  • 請確認您已將 cloudkms.cryptoKeyVersions.useToDecrypt 權限或 Cloud KMS CryptoKey Decrypter (roles/cloudkms.cryptoKeyDecrypter) 角色授予您建立的客戶自行管理的加密金鑰 (CMEK)

  • 如果目標執行個體和匯出執行個體之間有版本不相容的問題,匯入作業可能會失敗,原因如下:

    • 目標執行個體的 Looker 次要版本低於匯出資料的 Looker 版本。舉例來說,目標執行個體使用 Looker 23.5.X,但匯出作業是從 Looker 23.6.X 版的執行個體建立。
    • 建立匯出資料的執行個體次要版本,比目標執行個體的 Looker 版本落後超過一個版本。舉例來說,目標執行個體使用 Looker 23.6.X,但匯出作業是從 Looker 23.4.X 版的執行個體建立。

    在這種情況下,請升級匯出執行個體或目標執行個體,讓兩個執行個體都執行相同版本的 Looker。