從 Google 試算表匯入商家字彙表

本文說明如何使用詞彙表匯入公用程式,從 Google 試算表將詞彙表、類別和字詞大量匯入 Knowledge Catalog (原稱 Dataplex Universal Catalog)。

glossary_import 公用程式會剖析及驗證 Google 試算表的資料,並轉換為與 Knowledge Catalog CreateMetadataJob API 相容的格式,然後上傳至 Cloud Storage bucket,再觸發匯入作業。

事前準備

匯入字彙表之前,請先完成下列必要條件。

設定服務帳戶

如要使用 Google 試算表執行匯入公用程式,您必須設定服務帳戶,並具備存取 Google Sheets API 和模擬使用者憑證的必要權限:

  1. 找出或建立服務帳戶。

    選取現有服務帳戶,或在執行匯入公用程式的專案中建立新的服務帳戶。詳情請參閱「建立服務帳戶」。記下服務帳戶電子郵件地址 (例如 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)。

  2. 設定服務帳戶模擬。

    如要在本機執行匯入公用程式指令碼,使用者帳戶必須具備模擬服務帳戶的權限。將服務帳戶的服務帳戶權杖建立者角色 (roles/iam.serviceAccountTokenCreator) 授予使用者帳戶。

    詳情請參閱「管理服務帳戶的存取權」。

  3. 授予服務帳戶 Google 試算表 Editor 存取權。

    開啟要用於匯入程序的 Google 試算表,按一下「共用」,然後將服務帳戶電子郵件地址新增為Editor。這項權限可讓服務帳戶讀取或寫入試算表中的資料。

建立 Cloud Storage bucket

建立 Cloud Storage bucket,做為匯入檔案的暫存區。

必要的角色

為確保服務帳戶具備從 Google 試算表匯入字彙表的必要權限,請要求系統管理員將下列 IAM 角色授予服務帳戶:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

管理員或許也能透過自訂角色或其他預先定義的角色,授予服務帳戶必要權限。

啟用 API

如要匯入字彙表,請在專案中啟用下列 API:

啟用 API 時所需的角色

如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

啟用 API

設定 Git 存放區

複製 dataplex-labs 存放區:

git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/dataplex-glossary/import

安裝依附元件

安裝必要的 Python 依附元件:

pip3 install -r requirements.txt

如果安裝套件時發生任何問題,請設定新的 Python 開發環境

驗證及設定服務帳戶模擬

初始化 Google Cloud CLI,並使用應用程式預設憑證 (ADC) 搭配服務帳戶模擬功能進行驗證:

# Set your service account email address
SA_EMAIL="SERVICE_ACCOUNT_EMAIL"

# Authenticate ADC using service account impersonation and required scopes
gcloud auth application-default login \
  --impersonate-service-account="${SA_EMAIL}" \
  --scopes="https://www.googleapis.com/auth/spreadsheets"

SERVICE_ACCOUNT_EMAIL 替換為服務帳戶電子郵件 ID。例如:

SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

建立並匯入 Google 試算表

如要順利執行大量匯入作業,請務必使用精確的欄位結構建立新的 Google 試算表,匯入公用程式才能順利剖析及驗證中繼資料欄位。確認您已授予服務帳戶 Editor Google 試算表的存取權。

試算表的第一列必須包含下列確切的結構定義標題 (須區分大小寫):

欄位 必要或選用 說明
id 必填 詞彙表中的詞彙或類別專屬 ID。
parent 選用 父類別的 ID。如果為空白,則表示該項目是字彙表根層級的子項。請注意,參照的父項 ID 必須存在於工作表中,且必須屬於某個類別。
display_name 必填 字詞或類別的顯示名稱。
description 選用 簡短說明該字詞或類別。
overview 選用 詞彙或類別的富文字說明 (支援 HTML 標記)。
type 必填 列類型。有效值為 TERMCATEGORY
contact1_email 選用 字詞或類別主要資料管理員的電子郵件地址。
contact1_name 選用 術語或類別的主要資料管理員名稱。
contact2_email 選用 學期或類別的次要資料管理員電子郵件地址。
contact2_name 選用 術語或類別的次要資料管理員名稱。
label1_key 選用 第一個指派標籤的鍵。
label1_value 選用 第一個指派標籤的值。
label2_key 選用 第二個指派標籤的鍵。
label2_value 選用 第二個指派標籤的值。

從 Google 試算表匯入字彙表

設定環境並準備好 Google 試算表後,請執行 glossary_import.py 指令碼:

python3 bg_import/dataplex-glossary/glossary_import.py

匯入公用程式會將 CreateMetadataJob API 執行結果直接列印到終端機。確認工作狀態顯示成功。

您可以在本機執行路徑的 logs/ 目錄中查看執行記錄。這些記錄有助於稽核轉移程序,並找出遭略過的項目或格式警告。

後續步驟