本文適用於資料產品擁有者,他們想在 Knowledge Catalog (舊稱 Dataplex Universal Catalog) 中建立及設定資料產品。
如要進一步瞭解資料產品的架構和重要概念,請參閱「關於資料產品」。
事前準備
建立資料產品前,請先完成下列必要條件。
設定 Gemini 版 BigQuery
設定 BigQuery 中的 Gemini 是選用步驟,但強烈建議您在建立第一個資料產品前完成這項作業。
根據預設,建立資料產品時,您必須手動輸入資產的業務說明、技術定義和新手上路文件。啟用 Gemini 後,Knowledge Catalog 會使用 AI 輔助功能自動分析結構定義和資料掃描結果,並自動生成下列項目:
- 業務文件:建立文件範本,並清楚說明資料產品和每個資料資產。
- 洞察資訊和查詢範例:根據資產的結構定義版面配置,建構可立即使用的查詢範例,讓資料消費者在獲得核准後,立即開始查詢產品。
如果選擇不設定 Gemini,可以略過這個部分。不過,您需要在建立期間手動撰寫所有資產中繼資料和查詢範本。
詳情請參閱「設定 Gemini in BigQuery」一文。
啟用 API
啟用 Dataplex 和 BigQuery API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色。
建立資料資產
確認資料資產 (例如 BigQuery 資料集、資料表和檢視) 已建立並填入資料。
如要進一步瞭解如何建立資料資產,請參閱下列文件:
設定身分
找出或建立要在資料產品中設定的 Google 群組或服務帳戶。
必要的角色
本節列出下列主要章節所需的最低 IAM 角色:
資料產品擁有者:建立、設定及管理資料產品和相關聯資產的使用者
資料產品消費者:搜尋、查看及要求存取已發布資料產品的使用者
資料產品擁有者所需的角色
如要取得建立及管理資料產品所需的權限,請要求系統管理員授予您專案的下列 IAM 角色:
-
擁有建立、更新、刪除、管理權限,以及核准或拒絕資料產品存取要求的完整權限:
Dataplex 資料產品管理員 (
roles/dataplex.dataProductsAdmin) -
更新及管理權限,並核准或拒絕資料產品的存取要求:
Dataplex 資料產品編輯者 (
roles/dataplex.dataProductsEditor) -
新增中繼資料層面 (例如
schema、overview、contacts和queries): Dataplex 項目和 EntryLink 擁有者 (roles/dataplex.entryOwner) -
搜尋及新增資產:
Dataplex Catalog 檢視者 (
roles/dataplex.catalogViewer) -
編輯系統切面類型 (例如
overview、contact、contract和queries): Dataplex Catalog 編輯者 (roles/dataplex.catalogEditor) -
建立或擷取洞察資料掃描作業,自動產生文件和洞察資料:
Dataplex DataScan 管理員 (
roles/dataplex.dataScanAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備建立及管理資料產品所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立及管理資料產品,必須具備下列權限:
-
建立資料產品:
dataplex.dataProducts.create -
列出專案中的資料產品:
dataplex.dataProducts.list -
取得或查看資料產品:
dataplex.dataProducts.get -
編輯現有資料產品:
dataplex.dataProducts.update -
刪除資料產品:
dataplex.dataProducts.delete -
核准資料產品存取要求:
dataplex.dataProducts.approve -
使用 Knowledge Catalog 搜尋資料產品:
-
dataplex.dataProducts.get -
dataplex.projects.search
-
-
建立資料產品存取要求:
dataplex.dataProducts.get -
建立資料資產:
dataplex.dataAssets.create -
列出資料產品中的資料資產:
dataplex.dataAssets.list -
取得資料資產:
dataplex.dataAssets.get -
編輯現有資料資產:
dataplex.dataAssets.update -
刪除資料資產:
dataplex.dataAssets.delete -
建立資料掃描作業:
dataplex.datascans.create -
列出所有資料掃描:
dataplex.datascans.list -
取得資料掃描結果:
dataplex.datascans.get -
執行資料掃描:
dataplex.datascans.run -
編輯
overview系統切面類型:dataplex.entryGroups.useOverviewAspect -
編輯
refresh cadence系統切面類型:dataplex.entryGroups.useRefreshCadenceAspect -
編輯
queries系統切面類型:dataplex.entryGroups.useQueriesAspect
資料產品消費者所需的角色
為方便資料產品消費者搜尋、查看及要求存取資料產品,資料產品擁有者必須確保資料產品可供探索。如要這麼做,請在資料產品中授予資料產品消費者下列 IAM 角色:
- 搜尋資料產品並要求存取權:
Dataplex 資料產品消費者 (
dataplex.dataProductsConsumer) 和 Dataplex Catalog 檢視者 (roles/dataplex.catalogViewer) - 唯讀存取權,可查看資料產品定義和中繼資料:
Dataplex 資料產品檢視者 (
dataplex.dataProductsViewer)
建立及設定資料產品
建立資料產品時,需要完成下列高階工作:
建立資料產品
這個必要初始步驟需要定義核心詳細資料,例如專屬資料產品名稱、說明、建立資料產品的區域,以及聯絡資料。
選用:新增素材資源
在這個階段,您可以選取要納入資料產品的資產。重要限制是資產必須與資料產品本身位於相同區域。一次最多可以新增 10 項資產,一項資料產品最多可以有 50 項資產。
如需支援的資產清單,請參閱「支援的資產」。
選用:設定存取權群組和資產權限
在這個選用階段,您可以建立存取權群組,簡化存取控管。這些存取群組是基礎 Google 群組和服務帳戶的別名,方便使用者辨識 (例如
Analyst或Reader)。接著,選取特定 IAM 角色,並將其對應至特定資產的存取權群組,即可指派權限。選用:新增合約和切面詳細資料
在這個階段,您會附加中繼資料架構,以強化治理和資料可探索性。您可以新增合約,正式傳達資料更新頻率,並指定更新頻率、時間和差異門檻等參數。您也可以附加自訂切面,為資料產品提供額外的業務或技術中繼資料。
選用:新增其他詳細資料
在最後階段,您會新增 RTF 格式文件,例如使用者入門指南、業務定義和範例查詢,協助消費者在核准後立即與資料產品互動。
如要建立及設定資料產品,請完成下列各節的步驟:
建立資料產品
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
點選「建立」。
在「建立資料產品」窗格中,輸入下列詳細資料:
- 資料產品名稱:輸入資料產品的專屬名稱。
- 資料產品 ID:這是系統自動產生的專屬 ID。 您可以編輯這個欄位。
- 專案 ID:這是建立資料產品的專案專屬 ID。瀏覽並選取專案。
- 區域:選取建立資料產品的區域或多區域。
- 資料產品圖示:瀏覽並選取圖示,以視覺化方式識別資料產品。您可以視需要決定是否啟用。
- 說明:輸入資料產品的簡要說明。
聯絡人:提供控管和核准工作流程的聯絡窗口資訊:
- 資料產品擁有者的電子郵件地址: 輸入資料產品擁有者的電子郵件地址。
- 資料產品核准者的電子郵件地址:輸入指定核准者的電子郵件地址,負責簽署存取要求或修改。
標籤:新增鍵值標籤,整理資源。這項設定為選用。
按一下「建立資料產品」。
REST
如要建立資料產品,請使用 dataProducts.create 方法。
舉例來說,請傳送下列 POST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"display_name": "DISPLAY_NAME", "owner_emails": ["EMAIL_IDs"], "access_approval_config": { "approver_emails": ["APPROVER_EMAIL_IDs"]} }' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID
更改下列內容:
- DISPLAY_NAME:資料產品的簡單易懂名稱
- EMAIL_IDs:以半形逗號分隔的資料產品擁有者電子郵件地址
- APPROVER_EMAIL_IDs:以半形逗號分隔的電子郵件地址,這些是負責核准存取要求或修改的指定核准者。
- PROJECT_ID:您 Google Cloud專案的 ID
- LOCATION:要建立資料產品的區域
- DATA_PRODUCT_ID:資料產品的專屬 ID
Terraform
如要建立資料產品,請使用 google_dataplex_data_product 資源。
resource "google_dataplex_data_product" "example_product" {
project = "PROJECT_ID"
location = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name = "DISPLAY_NAME"
description = "DESCRIPTION"
owner_emails = ["EMAIL_IDs"]
provider = google-beta
}
更改下列內容:
- PROJECT_ID:您 Google Cloud 專案的 ID
- LOCATION:要建立資料產品的區域
- DATA_PRODUCT_ID:資料產品的專屬 ID
- DISPLAY_NAME:資料產品的簡單易懂名稱
- DESCRIPTION:資料產品的簡要說明
- EMAIL_IDs:以半形逗號分隔的資料產品擁有者電子郵件地址,例如
["user1@example.com", "user2@example.com"]
選用:新增素材資源
您可以將各種資料資產 (例如 BigQuery 資料表、檢視區塊、資料集和模型) 新增至資料產品。如需支援的資產清單,請參閱「支援的資產」。
控制台
在「新增資產」窗格中,按一下「+新增」。
搜尋並選取要新增至資料產品的資產。 所選資產必須與資料產品位於相同區域。
如果您擁有必要權限,點選資產即可查看資產的中繼資料。
如要縮小搜尋結果範圍,請使用「篩選器」。
選取資產後,按一下「新增」。
按一下「繼續」。
REST
如要將資料資產新增至資料產品,請使用 dataAssets.create 方法。
舉例來說,請傳送下列 POST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"resource": "RESOURCE_NAME"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets?data_asset_id=DATA_ASSET_ID
更改下列內容:
- RESOURCE_NAME:資料資產的完整資源名稱 (例如
//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID) - PROJECT_ID:您 Google Cloud 專案的 ID
- LOCATION:資料產品所在的區域
- DATA_PRODUCT_ID:資料產品的 ID
- DATA_ASSET_ID:這個資料資產在資料產品中的專屬 ID
Terraform
如要將資料資產新增至資料產品,請使用
google_dataplex_data_product_data_asset
資源。
resource "google_dataplex_data_product_data_asset" "example_asset" {
project = "PROJECT_ID"
location = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id = "DATA_ASSET_ID"
resource = "RESOURCE_NAME"
provider = google-beta
}
更改下列內容:
- PROJECT_ID:您 Google Cloud 專案的 ID
- LOCATION:資料產品所在的區域
- DATA_PRODUCT_ID:資料產品的 ID
- DATA_ASSET_ID:這個資料資產在資料產品中的專屬 ID
- RESOURCE_NAME:資料資產的完整資源名稱 (例如
//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)
選用:設定存取權群組和資產權限
在「設定存取權群組和資產權限」窗格中,您可以建立存取權群組,並指派資產權限。
設定存取權群組
控制台
按一下「新增存取權群組」。
在「存取群組名稱」欄位中,輸入存取群組的名稱。例如:
Analyst。在「存取權群組說明」欄位中,輸入存取權群組的說明。
在「存取權群組 ID」欄位中,輸入要指派給這個存取權群組的 Google 群組電子郵件地址
要求存取權的資料產品消費者會加入對應的 Google 群組,成為成員。
如要進一步瞭解如何建立 Google 群組,請參閱「在 Google Cloud 控制台中建立及管理 Google 群組」。
在「存取權群組服務帳戶」欄位中,輸入要指派給這個存取權群組的服務帳戶電子郵件地址。
如果資料產品用戶要求服務帳戶的存取權,系統會授予服務帳戶權杖建立者 (
roles/iam.serviceAccountTokenCreator) IAM 角色,模擬對應至存取權群組的資料生產者服務帳戶。如要進一步瞭解如何建立服務帳戶,請參閱「建立服務帳戶」。
按一下 [完成]。
如要新增其他存取權群組,請按一下「新增存取群組」,然後重複上述步驟。
每個資料產品最多可新增三個存取群組。
按一下 [儲存]。
REST
如要設定資料產品的存取權群組,請使用 dataProducts.patch 方法。
舉例來說,請傳送下列 PATCH 要求:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_groups": ACCESS_GROUPS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="access_groups"
更改下列內容:
ACCESS_GROUPS_MAP:JSON 物件,代表對應項,其中每個鍵都是存取權群組 ID,值則是 AccessGroup 物件。例如:
{ "analyst": { "id": "analyst", "display_name": "Analyst access group", "description": "Access group for analysts", "principal": { "google_group": "analyst-team@example.com", "service_account": "analyst-svc@gserviceaccount.com" } }PROJECT_ID:您 Google Cloud專案的 ID
LOCATION:資料產品所在的區域
DATA_PRODUCT_ID:資料產品的 ID
Terraform
如要為資料產品定義存取群組,請使用 google_dataplex_data_product 資源中的 access_groups 巢狀區塊。
舉例來說,請使用下列設定:
resource "google_dataplex_data_product" "example_data_product" {
project = "PROJECT_ID"
location = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name = "DISPLAY_NAME"
owner_emails = ["EMAIL_IDs"]
access_groups {
id = "analyst" # Internal identifier for configuration
group_id = "analyst" # Unique identifier of the access group, should be same as the 'id'
display_name = "Business Analyst"
description = "Access group for regional analysts"
principal {
google_group = "analyst-team@example.com"
}
provider = google-beta
}
更改下列內容:
- PROJECT_ID:您 Google Cloud 專案的 ID
- LOCATION:資料產品所在的區域
- DATA_PRODUCT_ID:資料產品的專屬 ID
- DISPLAY_NAME:資料產品的簡單易懂名稱
- EMAIL_IDs:以半形逗號分隔的資料產品擁有者電子郵件地址,例如
["user1@example.com", "user2@example.com"]
設定資產權限
設定存取群組後,即可設定資料產品中資產的權限。
控制台
在「資產權限」部分,選取要設定權限的資產。一次最多可以選取 10 項資產並設定權限。
按一下「設定權限」。
在「選取存取權群組」欄位中,選取存取權群組。
在「指派 IAM 角色」欄位中,選取要指派給存取權群組的 IAM 角色。
舉例來說,如果您的資產是名為
Sales的 BigQuery 資料表,且您選取Analyst存取權群組,並將BigQuery Metadata Viewer角色指派給這個存取權群組,則屬於Analyst存取權群組的資料產品消費者,會對Sales資料表擁有BigQuery Metadata Viewer權限。您可以為資產新增多個角色。
按一下「設定」。資產現在會顯示指派的權限。
如要設定其他資產的權限,請重複上述步驟。
按一下「繼續」。
REST
如要設定資料產品中資產的權限,請使用 dataAssets.patch 方法。
舉例來說,請傳送下列 PATCH 要求:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_group_configs": ACCESS_GROUP_CONFIGS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID?update_mask="access_group_configs"
更改下列內容:
ACCESS_GROUP_CONFIGS_MAP:JSON 物件,代表地圖,其中每個鍵都是存取權群組 ID,值則是 AccessGroupConfig 物件。例如:
{ "analyst": { iam_roles: ["roles/bigquery.dataViewer"] } }PROJECT_ID:您 Google Cloud專案的 ID
LOCATION:資料產品所在的區域
DATA_PRODUCT_ID:資料產品的 ID
DATA_ASSET_ID:要設定權限的資產 ID
Terraform
使用 google_dataplex_data_product_data_asset 資源中的 access_group_configs 區塊,為特定資產的存取群組指派 IAM 角色。
舉例來說,請使用下列設定:
resource "google_dataplex_data_product_data_asset" "example_data_asset" {
project = "PROJECT_ID"
location = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id = "DATA_ASSET_ID"
resource = "RESOURCE_NAME"
access_group_configs {
access_group = "analyst" # Must match the 'id' defined in google_dataplex_data_product
iam_roles = ["roles/bigquery.dataViewer"]
}
provider = google-beta
}
更改下列內容:
- PROJECT_ID:您 Google Cloud 專案的 ID
- LOCATION:資料產品所在的區域
- DATA_PRODUCT_ID:資料產品的 ID
- DATA_ASSET_ID:這個資料資產在資料產品中的專屬 ID
- RESOURCE_NAME:資料資產的完整資源名稱 (例如
//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)
選填:新增合約和切面詳細資料
您可以為資料產品新增合約和切面。
新增合約
如要建立資料生產者與消費者之間的信任基礎,您可以將合約附加至資料產品。指定重新整理時間和門檻等參數,為消費者提供必要背景資訊,瞭解資料更新時間,以及資料是否符合特定業務需求。
控制台
在「新增合約和切面詳細資料」窗格中,按一下「新增合約」。
在「Select contract」(選取合約) 欄位中,選取「
Refresh cadence」。在「頻率」欄位中,選取雙方同意的資料更新或傳送時間表,確保資料從產生者到消費者之間有可預測的流程。例如:
Weekly。在「更新時間」欄位中,輸入資料在來源更新後,最晚何時可供消費者使用。例如:
23:00 PST。在「門檻 (以分鐘為單位)」欄位中,輸入可接受的資料傳送延遲時間 (以分鐘為單位)。例如,輸入
30即可將門檻設為 30 分鐘。選用:在「Cron schedule」(Cron 排程) 欄位中,輸入定義資料產生和傳送排程的 Cron 運算式,格式為:
MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK可接受的值如下:
- MINUTE:
0-59 - HOUR:
0-23 - DAY_OF_MONTH:
1-31 - MONTH:
1-31或JAN-DEC - DAY_OF_WEEK:
0-6或SUN-SAT
舉例來說,
0 8 * * 1-5會在平日 (週一至週五) 上午 8:00 執行。- MINUTE:
按一下 [儲存]。
REST
合約會以資料產品的切面形式呈現。如要為資料產品新增 Refresh Cadence 合約,請使用 entries.patch 方法。
舉例來說,請傳送下列 PATCH 要求:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
"aspects": {
"dataplex-types.global.refresh-cadence": {
"aspectType": "projects/dataplex-types/locations/global/aspectTypes/refresh-cadence",
"data": {
"frequency": "REFRESH_FREQUENCY"
}
}
}
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
更改下列內容:
- REFRESH_FREQUENCY:雙方同意的資料更新或傳送頻率時間表,確保資料從產生者到消費者之間有可預測的流程。例如:
Weekly - PROJECT_ID:發出 API 呼叫的 Google Cloud 專案 ID
- LOCATION:您呼叫的 Knowledge Catalog 服務端點所在區域 (例如
us-central1) - DATA_PRODUCT_PROJECT_NUMBER:資料產品資源所在的專案編號
- DATA_PRODUCT_LOCATION:資料產品資源的位置
- DATA_PRODUCT_ID:資料產品的 ID
Terraform
合約會以資料產品的切面形式呈現。如要管理合約,您必須管理基礎 Knowledge Catalog 項目。由於 Terraform 不會自動探索現有層面,您必須先匯入 google_dataplex_entry。
如要匯入項目,請使用下列指令:
terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
Terraform 設定:
resource "google_dataplex_entry" "data_product_metadata" {
project = "DATA_PRODUCT_PROJECT_NUMBER"
location = "LOCATION"
entry_group_id = "@dataplex"
entry_id = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type = "projects/655216118709/locations/global/entryTypes/data-product"
aspects {
aspect_key = "655216118709.global.refresh-cadence"
aspect {
data = jsonencode({
frequency = "REFRESH_FREQUENCY"
})
}
}
provider = google-beta
}
更改下列內容:
- DATA_PRODUCT_PROJECT_NUMBER:資料產品資源所在的專案編號
- LOCATION:您呼叫的 Knowledge Catalog 服務端點所在區域 (例如
us-central1) - DATA_PRODUCT_ID:資料產品的 ID
- REFRESH_FREQUENCY:雙方同意的資料更新或傳送頻率時間表,確保資料從產生者到消費者之間有可預測的流程。例如:
Weekly
如需匯入程序的一般資訊,請參閱 Terraform 匯入說明文件。
新增切面
使用切面,以可重複使用的結構化中繼資料,豐富資料產品。這些範本為資料生產者提供標準化方式,可傳達資料產品的品質和適用性,進而改善治理機制,並協助消費者判斷產品是否符合業務需求。
如要為資料產品新增切面,請按照下列步驟操作:
控制台
在「新增合約和切面詳細資料」窗格中,按一下「+ 新增切面」。
在「選取層面類型」欄位中,搜尋並從清單中選取層面類型。例如:
Geo context。按一下 [儲存]。
REST
如要為資料產品新增切面,請使用 entries.patch 方法。
舉例來說,請傳送下列 PATCH 要求:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
"aspects": {
"ASPECT_PROJECT_ID.ASPECT_LOCATION.ASPECT_NAME": {
"aspectType": "projects/ASPECT_PROJECT_ID/locations/ASPECT_LOCATION/aspectTypes/ASPECT_NAME",
"data": {}
}
}
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
更改下列內容:
- ASPECT_PROJECT_ID:建立構面所在專案的 ID Google Cloud
- ASPECT_LOCATION:建立構面的 Knowledge Catalog 服務端點區域 (例如
us-central1) - ASPECT_NAME:要附加至資料產品的層面名稱
- PROJECT_ID:發出 API 呼叫的 Google Cloud 專案 ID
- LOCATION:您呼叫的 Knowledge Catalog 服務端點所在區域 (例如
us-central1) - DATA_PRODUCT_PROJECT_NUMBER:資料產品資源所在的專案編號
- DATA_PRODUCT_LOCATION:資料產品資源的位置
- DATA_PRODUCT_ID:資料產品的 ID
Terraform
如要管理層面,必須管理基礎 Knowledge Catalog 項目。
由於 Terraform 不會自動探索現有層面,您必須先匯入 google_dataplex_entry。
如要匯入項目,請使用下列指令:
terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
Terraform 設定:
resource "google_dataplex_entry" "data_product_metadata" {
project = "DATA_PRODUCT_PROJECT_NUMBER"
location = "LOCATION"
entry_group_id = "@dataplex"
entry_id = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type = "projects/655216118709/locations/global/entryTypes/data-product"
aspects {
aspect_key = "ASPECT_PROJECT_NUMBER.ASPECT_LOCATION.ASPECT_NAME"
aspect {
data = {}
}
}
provider = google-beta
}
更改下列內容:
- DATA_PRODUCT_PROJECT_NUMBER:資料產品資源所在的專案編號
- LOCATION:您呼叫的 Knowledge Catalog 服務端點所在區域 (例如
us-central1) - DATA_PRODUCT_ID:資料產品的 ID
- ASPECT_PROJECT_NUMBER:建立構面的 Google Cloud 專案 編號
- ASPECT_LOCATION:建立構面的 Knowledge Catalog 服務端點區域 (例如
us-central1) - ASPECT_NAME:要附加至資料產品的層面名稱
如需匯入程序的一般資訊,請參閱 Terraform 匯入說明文件。
選填:新增其他詳細資料
您可以為資料產品新增文件和範例查詢,提供重要脈絡、商業邏輯說明和使用手冊。在 Knowledge Catalog 中,文件是透過overview系統切面管理。
您可以手動建立這份文件,也可以使用 Knowledge Catalog 資料洞察自動生成。
手動新增說明文件和查詢範例
控制台
如要為資料產品新增說明文件,請按照下列步驟操作:
在「新增其他詳細資料」窗格中,按一下「文件」旁的 「編輯」。
在 RTF 格式編輯器中輸入內容。
按一下 [儲存]。
如要為資料產品新增查詢範例,請按照下列步驟操作:
在「新增其他詳細資料」窗格中,按一下「查詢建議」部分中的「新增查詢」。
輸入範例查詢。
按一下 [儲存]。
新建立的資料產品會顯示在 Knowledge Catalog 的「資料產品」頁面。
REST
說明文件會以資料產品的層面為模型。如要新增說明文件,請使用 entries.patch 方法。
舉例來說,請傳送下列 PATCH 要求:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
"aspects": {
"dataplex-types.global.overview": {
"aspectType": "projects/dataplex-types/locations/global/aspectTypes/overview",
"data": {
"content": "DOCUMENTATION"
}
}
}
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
更改下列內容:
- PROJECT_ID:發出 API 呼叫的 Google Cloud 專案 ID
- LOCATION:您呼叫的 Knowledge Catalog 服務端點所在區域 (例如
us-central1) - DATA_PRODUCT_PROJECT_NUMBER:資料產品資源所在的專案編號
- DATA_PRODUCT_LOCATION:資料產品資源的位置
- DATA_PRODUCT_ID:資料產品的 ID
- DOCUMENTATION:您要附加至資料產品的內容
Terraform
說明文件會以資料產品的切面形式呈現。如要管理說明文件,您必須管理基礎 Knowledge Catalog 項目。由於 Terraform 不會自動探索現有層面,您必須先匯入 google_dataplex_entry。
如要匯入項目,請使用下列指令:
terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
Terraform 設定:
resource "google_dataplex_entry" "data_product_metadata" {
project = "DATA_PRODUCT_PROJECT_NUMBER"
location = "LOCATION"
entry_group_id = "@dataplex"
entry_id = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type = "projects/655216118709/locations/global/entryTypes/data-product"
aspects {
aspect_key = "655216118709.global.overview"
aspect {
data = jsonencode({
content = "DOCUMENTATION"
})
}
}
provider = google-beta
}
更改下列內容:
- DATA_PRODUCT_PROJECT_NUMBER:資料產品資源所在的專案編號
- LOCATION:您呼叫的 Knowledge Catalog 服務端點所在區域 (例如
us-central1) - DATA_PRODUCT_ID:資料產品的 ID
- DOCUMENTATION:您要附加至資料產品的內容
如需匯入程序的一般資訊,請參閱 Terraform 匯入說明文件。
使用資料洞察資訊生成自動化文件和範例查詢
使用 Gemini 生成文件和範例查詢之前,請先完成下列先決條件:
在您建立資料產品的專案中,啟用 Gemini for Google Cloud API。
授予洞察專屬使用者角色:請管理員在資料產品專案中,授予您的身分下列角色和權限:
- 產生及管理資料洞察:資料產品所在專案的 Dataplex DataScan 編輯者 (
roles/dataplex.dataScanEditor) 或 Dataplex DataScan 管理員 (roles/dataplex.dataScanAdmin) - 查看產生的洞察資料:在資料產品所在的專案中,使用 Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer)
- 產生及管理資料洞察:資料產品所在專案的 Dataplex DataScan 編輯者 (
設定跨專案服務代理權限。如果基礎資料資產位於與資料產品專案不同的專案,您必須授予 Knowledge Catalog 服務代理程式 (P4SA) 存取這些資產的權限: Google Cloud
如要為資料產品專案產生或擷取服務代理程式 ID,請執行下列 Google Cloud CLI 指令:
gcloud beta services identity create --service=dataplex.googleapis.com --project=DATA_PRODUCT_PROJECT_ID將 DATA_PRODUCT_PROJECT_ID 替換為資料產品所在的Google Cloud 專案 ID。
在每個存放資產的外部專案中,將下列角色授予資料產品專案的服務代理人:
基礎資料表和資料集的 BigQuery 資料編輯者 (
roles/bigquery.dataEditor)資產專案的 BigQuery Studio 管理員 (
roles/bigquery.studioAdmin)
如要使用資料洞察功能,為資料產品產生說明文件和查詢範例,請完成下列步驟:
控制台
在「新增其他詳細資料」窗格中,點按「透過 Gemini 生成洞察資料」列,然後點按「生成」。
請稍候幾分鐘,等待洞察資料生成程序完成。
如要查看生成的內容,請按一下「查看」。
評估生成的內容:
如果內容正確無誤,請按一下「儲存」。系統會預先填入文件範本,並在「洞察」部分新增範例查詢。
如果內容不符合預期,請按一下「捨棄」。
按一下「儲存」即可完成。
REST
如要使用 API 自動產生、擷取及套用文件和洞察資料,請執行下列一系列 Knowledge Catalog DataScans API 呼叫。
產生自動化文件。
如要觸發自動產生說明文件,請將
POST要求傳送至dataScans端點,建立DATA_DOCUMENTATION類型資料掃描:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "data": { "resource": "DATA_PRODUCT_RESOURCE_NAME" }, "executionSpec": { "trigger": { "oneTime": { "ttl_after_scan_completion": "TTL" } } }, "type": "DATA_DOCUMENTATION", "dataDocumentationSpec": {} }' \ "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATA_SCAN_ID"更改下列內容:
- DATA_PRODUCT_RESOURCE_NAME:要掃描的目標資料產品完整資源名稱。
- TTL:掃描資源應自動刪除的時間長度 (以秒為單位),例如
3600代表一小時。如未指定,預設值為 24 小時。 允許的最大值為 365 天 (31536000秒)。 - PROJECT_ID:您 Google Cloud專案的 ID
- LOCATION:執行資料掃描的區域
- DATA_SCAN_ID:您為這項掃描作業提供的專屬 ID
擷取生成的文件。
資料掃描工作完成後,請傳送含有
view=full參數的GET要求,擷取產生的文件和查詢洞察:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATA_SCAN_ID?view=full"將產生的查詢儲存至資料產品。
從上一個步驟的資料掃描輸出內容中,擷取產生的 SQL 片段,然後透過
PATCH要求更新資料產品項目的queries方面,將這些片段附加至該項目:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "aspects": { "dataplex-types.global.queries": { "aspectType": "projects/dataplex-types/locations/global/aspectTypes/queries", "data": { "queries": [ { "description": "QUERY_DESCRIPTION", "sql": "SQL_STATEMENT", "source": "USER" } ] } } } }' \ "https://dataplex.googleapis.com/v1/projects/CATALOG_PROJECT_ID/locations/CATALOG_LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"更改下列內容:
QUERY_DESCRIPTION:說明建議範例查詢的用途
SQL_STATEMENT:生成的 SQL 範例查詢的字面文字
CATALOG_PROJECT_ID:您要發出 API 呼叫的Google Cloud 專案 ID
CATALOG_LOCATION:Knowledge Catalog 服務的區域端點 (例如
us-central1)DATA_PRODUCT_PROJECT_NUMBER:資料產品資源的代管專案編號
DATA_PRODUCT_LOCATION:資料產品資源的位置
DATA_PRODUCT_ID:資料產品的 ID