本文適用於想要在 Dataplex Universal Catalog 中建立及設定資料產品的資料產品擁有者。
如要進一步瞭解資料產品的架構和重要概念,請參閱「關於資料產品」。
事前準備
-
Enable the Dataplex, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. 確認已建立並填入資料資產 (例如 BigQuery 資料集、資料表和檢視)。
如要進一步瞭解如何建立資料資產,請參閱下列文件:
找出或建立要在資料產品中設定的Google 群組。每個資料產品都必須有專屬的 Google 群組。
必要的角色
本節列出兩大主要使用者群組所需的最低 IAM 角色:資料產品擁有者 (建立及管理資料產品的使用者),以及資料產品消費者 (搜尋及使用資料產品的使用者)。
資料產品擁有者的角色
如要取得建立及管理資料產品所需的權限,請要求管理員在專案中授予下列 IAM 角色:
-
擁有建立、更新、刪除及管理資料產品權限的完整權限:
Dataplex 資料產品管理員 (
roles/dataplex.dataProductsAdmin) -
更新及管理現有資料產品:
Dataplex 資料產品編輯者 (
roles/dataplex.dataProductsEditor) -
新增
schema、overview和contacts等層面: Dataplex 項目和 EntryLink 擁有者 (roles/dataplex.entryOwner) -
搜尋及新增資產:
Dataplex Catalog 檢視者 (
roles/dataplex.catalogViewer) -
編輯系統切面類型,例如文件和合約切面,以更新頻率:
Dataplex Catalog 編輯者 (
roles/dataplex.catalogEditor)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備建立及管理資料產品所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立及管理資料產品,必須具備下列權限:
-
編輯
overview系統切面類型:dataplex.entryGroups.useOverviewAspect -
編輯
refresh cadence系統切面類型:dataplex.entryGroups.useRefreshCadenceAspect
資料產品消費者的角色
為方便資料產品消費者搜尋、查看及要求存取資料產品,資料產品擁有者必須確保資料產品可供探索。如要這麼做,請在資料產品中授予資料產品消費者下列 IAM 角色:
- 在 Dataplex Universal Catalog Search 中搜尋及存取資料產品:
Dataplex 資料產品消費者 (
dataplex.dataProductsConsumer) - 唯讀存取權,可查看資料產品定義和中繼資料:
Dataplex 資料產品檢視者 (
dataplex.dataProductsViewer) - 要求資料產品的存取權:Dataplex 資料產品用戶 (
dataplex.dataProductsConsumer)
建立及設定資料產品
建立資料產品時,需要完成下列高階工作:
建立資料產品
這個必要初始步驟需要定義核心詳細資料,例如專屬資料產品名稱、說明、建立資料產品的區域,以及擁有者詳細資料。
選用:新增素材資源
在這個階段,您可以選取要納入資料產品的資產。重要限制是資產必須與資料產品本身位於相同區域。資料產品最多只能新增 10 項資產。
如需支援的資產清單,請參閱「支援的資產」。
選用:設定存取權群組和資產權限
在這個選用階段,您可以建立存取群組,簡化存取權控管機制。這些存取群組是基礎 Google 群組的別名,方便使用者辨識 (例如
Analyst或Reader)。然後選取特定 IAM 角色,並將其對應至特定資產的存取群組,即可指派權限。選用:新增其他詳細資料,例如合約、層面和文件
這個選用階段可強化治理和中繼資料。您可以新增合約 (第一方層面類型),正式傳達雙方同意的資料重新整理頻率,並指定重新整理頻率、重新整理時間和門檻等參數。您也可以加入切面,為資料產品提供其他中繼資料。此外,您還可以新增 RTF 說明文件,例如使用手冊和查詢範例。
如要建立及設定資料產品,請完成下列各節的步驟:
建立資料產品
控制台
在 Google Cloud 控制台,前往 Dataplex Universal Catalog 的「資料產品」頁面。
點選「建立」。
在「建立資料產品」窗格中,輸入下列詳細資料:
- 資料產品名稱:輸入資料產品的專屬名稱。
- 資料產品 ID:這是系統自動產生的專屬 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"]}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID
更改下列內容:
- DISPLAY_NAME:資料產品的簡單易懂名稱
- EMAIL_IDs:以半形逗號分隔的資料產品擁有者電子郵件 ID
- PROJECT_ID:您 Google Cloud專案的 ID
- LOCATION:要建立資料產品的區域
- DATA_PRODUCT_ID:資料產品的專屬 ID
選用:新增素材資源
控制台
在「新增資產」窗格中,按一下「+新增」。
搜尋並選取要新增至資料產品的資產。 所選資產必須與資料產品位於相同區域。
如果您擁有必要權限,點選資產即可查看資產的中繼資料。
如要縮小搜尋結果範圍,請使用「篩選器」。
選取素材資源後,按一下「新增」。
按一下「繼續」。
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
選用:設定存取權群組和資產權限
在「設定存取權群組和資產權限」窗格中,您可以建立存取權群組,並將權限指派給資產。
設定存取權群組
控制台
按一下「新增存取群組」。
在「存取群組名稱」欄位中,輸入存取群組的名稱。 例如:
Analyst。在「存取權群組說明」欄位中,輸入存取權群組的說明。
在「存取權群組 ID」欄位中,輸入要指派給這個存取權群組的 Google 群組電子郵件地址。要求存取這個存取權群組的資料產品消費者,可以新增為對應 Google 群組的成員。
如果沒有 Google 群組,可以自行建立。詳情請參閱「在 Google Cloud 控制台中建立及管理 Google 群組」。
按一下「新增」。
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"} } }PROJECT_ID:您 Google Cloud專案的 ID
LOCATION:資料產品所在的區域
DATA_PRODUCT_ID:資料產品的 ID
設定資產權限
設定存取群組後,即可設定資料產品中資產的權限。
控制台
在「資產權限」部分,選取要設定權限的資產。
按一下「設定權限」。
在「選取存取權群組」欄位中,選取存取權群組。
在「指派 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
選填:新增其他詳細資料
您也可以為資料產品新增合約、切面和其他說明文件。
新增合約
控制台
在「新增其他詳細資料」窗格中,按一下「新增合約」。
在「Select contract」(選取合約) 欄位中,選取「
Refresh cadence」。在「頻率」欄位中,選取雙方同意的資料更新或傳送時間表,確保資料從產生者到消費者之間能順利傳輸。例如:
Weekly。在「更新時間」欄位中,輸入資料在來源更新後,最晚何時可供消費者使用的時間。例如:
23:00 PST。在「Threshold (in minutes)」(門檻 (以分鐘為單位)) 欄位中,輸入可接受的資料傳送延遲時間 (以分鐘為單位)。舉例來說,輸入
30可將門檻設為 30 分鐘。選用:在「Cron schedule」(Cron 排程) 欄位中,輸入定義資料產生和傳送排程的 Cron 運算式,格式為:
MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK系統接受的值如下:
MINUTE:0-59HOUR:0-23DAY_OF_MONTH:1-31MONTH:1-31或JAN-DECDAY_OF_WEEK:0-6或SUN-SAT
舉例來說,
0 8 * * 1-5會在平日 (週一至週五) 上午 8:00 執行。按一下 [儲存]。
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_ID/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
更改下列內容:
- REFRESH_FREQUENCY:雙方同意的資料更新或傳送頻率時間表,確保資料從產生者到消費者之間有可預測的流程。例如:
Weekly - PROJECT_ID:您要發出 API 呼叫的 Google Cloud 專案 ID
- LOCATION:您要呼叫的 Dataplex Universal Catalog 服務端點區域 (例如
us-central1) - DATA_PRODUCT_PROJECT_ID:資料產品資源所在的專案 ID
- DATA_PRODUCT_LOCATION:資料產品資源的位置
- DATA_PRODUCT_ID:資料產品的 ID
新增其他中繼資料
如要將資料產品的其他中繼資料新增為切面,請按照下列步驟操作:
控制台
在「新增其他詳細資料」窗格中,按一下「+ 新增面向」。
在「選取面向類型」欄位中,搜尋並從清單中選取面向類型。例如:
Geo context。在「國家/地區」欄位中,選取資產所屬的國家/地區。
在「Region」(區域) 欄位中,選取資產所屬的業務區域。
按一下 [儲存]。
如要新增使用手冊或查詢範例等其他說明文件,請按一下「說明文件」旁的「編輯」。系統會開啟 RTF 格式編輯器。 新增內容,然後按一下「儲存」。
按一下 [儲存]。
新建立的資料產品會顯示在 Dataplex Universal Catalog 的「資料產品」頁面。
REST
如要新增資料產品的切面和說明文件,請使用 entries.patch 方法。
資料產品的文件是透過系統切面類型 overview 管理。