本文說明如何使用詞彙表匯入公用程式,從 Google 試算表將詞彙表、類別和字詞大量匯入 Knowledge Catalog (原稱 Dataplex Universal Catalog)。
glossary_import 公用程式會剖析及驗證 Google 試算表的資料,並轉換為與 Knowledge Catalog CreateMetadataJob API 相容的格式,然後上傳至 Cloud Storage bucket,再觸發匯入作業。
事前準備
匯入字彙表之前,請先完成下列必要條件。
設定服務帳戶
如要使用 Google 試算表執行匯入公用程式,您必須設定服務帳戶,並具備存取 Google Sheets API 和模擬使用者憑證的必要權限:
找出或建立服務帳戶。
選取現有服務帳戶,或在執行匯入公用程式的專案中建立新的服務帳戶。詳情請參閱「建立服務帳戶」。記下服務帳戶電子郵件地址 (例如
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)。設定服務帳戶模擬。
如要在本機執行匯入公用程式指令碼,使用者帳戶必須具備模擬服務帳戶的權限。將服務帳戶的服務帳戶權杖建立者角色 (
roles/iam.serviceAccountTokenCreator) 授予使用者帳戶。詳情請參閱「管理服務帳戶的存取權」。
授予服務帳戶 Google 試算表
Editor存取權。開啟要用於匯入程序的 Google 試算表,按一下「共用」,然後將服務帳戶電子郵件地址新增為
Editor。這項權限可讓服務帳戶讀取或寫入試算表中的資料。
建立 Cloud Storage bucket
建立 Cloud Storage bucket,做為匯入檔案的暫存區。
必要的角色
為確保服務帳戶具備從 Google 試算表匯入字彙表的必要權限,請要求系統管理員將下列 IAM 角色授予服務帳戶:
- Dataplex 管理員 (
roles/dataplex.admin) 專案 - 專案的 Dataplex Catalog 管理員 (
roles/dataplex.catalogAdmin) - 專案的 Dataplex Catalog 編輯者 (
roles/dataplex.catalogEditor) - Cloud Storage 值區的Storage 物件管理員 (
roles/storage.objectAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
管理員或許也能透過自訂角色或其他預先定義的角色,授予服務帳戶必要權限。
啟用 API
如要匯入字彙表,請在專案中啟用下列 API:
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色。
設定 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 |
必填 | 列類型。有效值為 TERM 或 CATEGORY。 |
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/ 目錄中查看執行記錄。這些記錄有助於稽核轉移程序,並找出遭略過的項目或格式警告。
後續步驟
- 瞭解如何管理組織詞彙。
- 瞭解如何使用 JSON 檔案匯入字彙表。
- 瞭解如何將字彙表匯出至 Google 試算表。
- 進一步瞭解中繼資料管理。