本文提供操作說明,協助您從支援 Data Catalog 中繼資料的商務詞彙表搶先版,遷移至支援 Dataplex Universal Catalog 中繼資料的商務詞彙表正式版。轉移程序需要您從 Data Catalog 匯出詞彙表、類別、字詞和連結,然後匯入 Dataplex Universal Catalog。
如要轉移至 Dataplex Universal Catalog 的商務詞彙表,請按照下列步驟操作:
- 從資料目錄匯出術語表、類別和字詞。
- 將詞彙表、類別和字詞匯入 Dataplex Universal Catalog。
- 從 Data Catalog 匯出字詞之間的連結。
- 將字詞之間的連結匯入 Dataplex Universal Catalog。
- 從 Data Catalog 匯出字詞和資料欄之間的連結。
- 將字詞和資料欄之間的連結匯入 Dataplex Universal Catalog。
必要的角色
如要從 Data Catalog 匯出術語表,您必須在術語表所在的專案中具備 roles/datacatalog.glossaryOwner
角色。請參閱這個角色需要的權限。
如要取得將商務詞彙表匯入 Dataplex Universal Catalog 所需的權限,請要求管理員授予您專案的 Dataplex 管理員 (roles/dataplex.admin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色具備將商務詞彙表匯入 Dataplex Universal Catalog 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要將商務詞彙表匯入 Dataplex Universal Catalog,必須具備下列權限:
-
dataplex.glossaries.import
詞彙表資源 -
dataplex.entryGroups.import
在entry_groups
欄位中提供的 Dataplex Universal Catalog 項目群組,以及存在與詞彙表字詞連結的 Data Catalog 項目之項目群組上 -
dataplex.entryGroups.useSynonymEntryLink
在entry_groups
欄位中提供的 Dataplex Universal Catalog 項目群組,以及存在與詞彙表字詞連結的 Data Catalog 項目之項目群組上 -
dataplex.entryGroups.useRelatedEntryLink
在entry_groups
欄位中提供的 Dataplex Universal Catalog 項目群組,以及存在與詞彙表字詞連結的 Data Catalog 項目之項目群組上 -
dataplex.entryLinks.reference
referenced_entry_scopes
欄位中提供的所有專案
從資料目錄匯出術語表、類別和字詞
一次只能匯出一個字彙表。
複製 dataplex-labs 存放區,然後將目錄變更為
business-glossary-import
子目錄:git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
取得存取權杖:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
執行匯出指令碼:
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL" \ --export-mode=glossary_only
更改下列內容:
PROJECT_ID
:包含詞彙表的專案 ID。DATA_CATALOG_GLOSSARY_URL
:主控台中的資料目錄業務字彙表網址。
這個指令碼會建立 JSON 檔案,格式與用於中繼資料匯入作業的中繼資料匯入檔案相同。詞彙表、類別和字詞的名稱採用下列格式:
- 詞彙表:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
- 期限:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
- 類別:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID
其中
GLOSSARY_ID
、CATEGORY_ID
、TERM_ID
、PROJECT_NUMBER
和LOCATION_ID
與資料目錄術語表中的值相同。
匯入字彙表、類別和字詞
您需要匯入上一個步驟匯出的 Dataplex Universal Catalog 詞彙表、類別和字詞。本節說明如何使用中繼資料工作 API 匯入資料。
授予 Dataplex Universal Catalog 服務帳戶 Cloud Storage bucket 的讀取權限。
執行中繼資料匯入工作,匯入術語表。
# Set GCURL alias alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"' # Import CURL Command gcurl https://dataplex.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/metadataJobs?metadata_job_id=JOB_ID -d "$(cat<<EOF { "type": "IMPORT", "import_spec": { "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "glossaries": ["projects/PROJECT_NUMBER/locations/global/glossaries/GLOSSARY_ID"] } } } EOF )"
更改下列內容:
JOB_ID
:(選用) 中繼資料匯入作業 ID,可用於追蹤作業狀態。如未提供 ID,gcurl 指令會產生不重複的 ID。STORAGE_BUCKET
:包含匯出字彙表檔案的 Cloud Storage 值區或資料夾 URI。PROJECT_NUMBER
:包含字彙表的專案編號。
選用:如要追蹤中繼資料匯入作業的狀態,請使用
metadataJobs.get
方法:gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataJobs/JOB_ID
如果中繼資料匯入工作發生任何錯誤,系統會將錯誤記錄在記錄檔中。
從 Data Catalog 匯出字詞之間的連結
複製 dataplex-labs 存放區 (如果尚未複製),然後將目錄變更為
business-glossary-import
子目錄:git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
取得存取權杖:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
執行匯出程式碼:
python3 bg_import/business_glossary_export_v2.py \ --user-project=PROJECT_ID \ --url="DATA_CATALOG_GLOSSARY_URL" \ --export-mode=entry_links_only \ --entrylinktype="related,synonym"
這項指令碼會建立 JSON 檔案,其中包含同義字和字詞間的相關連結。匯出的檔案位於
dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
中的Exported_Files
資料夾。檔案名稱為entrylinks_relatedsynonymGLOSSARY_ID.json
。
將字詞之間的連結匯入 Dataplex Universal Catalog
您需要匯入上一個步驟中匯出的字詞連結。本節說明如何使用中繼資料工作 API 匯入資料。
建立新的 Cloud Storage bucket,然後將上一個步驟匯出的項目連結檔案上傳到該 bucket。
授予 Dataplex Universal Catalog 服務帳戶 Cloud Storage bucket 的讀取權限。
執行中繼資料匯入工作,匯入項目連結:
# Import CURL Command gcurl https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs?metadata_job_id=JOB_ID -d "$(cat<<EOF { "type": "IMPORT", "import_spec": { "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "entry_groups": ["projects/GLOSSARY_PROJECT_ID/locations/global/entryGroups/@dataplex"], "entry_link_types": ["projects/dataplex-types/locations/global/entryLinkTypes/synonym", "projects/dataplex-types/locations/global/entryLinkTypes/related"], "referenced_entry_scopes": [PROJECT_IDS] } } } EOF )"
更改下列內容:
GLOSSARY_PROJECT_ID
:包含詞彙表的專案 IDPROJECT_IDS
:如果不同專案中的術語已連結至不同字彙表,請以"projects/PROJECT_ID1", "projects/PROJECT_ID2"
格式提供專案 ID
注意事項:
entry_groups
物件包含建立項目連結的項目群組。這是與字彙表位於相同專案和位置的@dataplex
系統項目群組。entry_link_types
物件可讓您匯入同義字、相關字詞或兩者:- 同義詞:
projects/dataplex-types/locations/global/entryLinkTypes/synonym
- 相關字詞:
projects/dataplex-types/locations/global/entryLinkTypes/related
- 同義詞:
referenced_entry_scopes
物件包含項目連結的專案 ID,這些連結會連結不同詞彙表的字詞。
匯出字詞和資料欄之間的連結
匯出及匯入詞彙表和術語之間的連結後,請繼續匯入術語和資料欄之間的連結。在下列指令中, 連結類型設為定義,可匯出字詞和資料欄之間的連結。
## Clone the repository and navigate to the directory git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token); ## Run the export code python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL" \ --export-mode=entry_links_only \ --entrylinktype="definition"
匯入字詞和欄之間的連結
您需要匯入先前步驟中匯出的字詞和資料欄之間的連結。本節說明如何使用中繼資料工作 API 匯入資料。
如步驟 2 所述,將上一個步驟中匯出的每個檔案上傳到 Cloud Storage 值區。
針對 Cloud Storage bucket 中上傳的每個檔案,分別執行匯入指令。每個檔案都會對應到一個不重複的項目群組,其中包含該項目群組的字詞和資料欄之間的連結。
# Set GCURL alias alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"' # Import CURL Command gcurl https://dataplex.googleapis.com/v1/projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID { "type":"IMPORT", "import_spec":{ "log_level":"DEBUG", "source_storage_uri":"gs://STORAGE_BUCKET/", "entry_sync_mode":"FULL", "aspect_sync_mode":"INCREMENTAL", "scope":{ "entry_groups":[ "projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/entryGroups/ENTRY_GROUP_ID" ], "entry_link_types":[ "projects/dataplex-types/locations/global/entryLinkTypes/definition", ], "referenced_entry_scopes":[ PROJECT_IDS ] } } } EOF )"