建立資料產品

本文適用於想要在 Dataplex Universal Catalog 中建立及設定資料產品的資料產品擁有者。

如要進一步瞭解資料產品的架構和重要概念,請參閱「關於資料產品」。

事前準備

  1. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  2. 確認已建立並填入資料資產 (例如 BigQuery 資料集、資料表和檢視)。

    如要進一步瞭解如何建立資料資產,請參閱下列文件:

  3. 找出或建立要在資料產品中設定的Google 群組。每個資料產品都必須有專屬的 Google 群組。

必要的角色

本節列出兩大主要使用者群組所需的最低 IAM 角色:資料產品擁有者 (建立及管理資料產品的使用者),以及資料產品消費者 (搜尋及使用資料產品的使用者)。

資料產品擁有者的角色

如要取得建立及管理資料產品所需的權限,請要求管理員在專案中授予下列 IAM 角色:

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

這些預先定義的角色具備建立及管理資料產品所需的權限。如要查看確切的必要權限,請展開「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)

建立及設定資料產品

建立資料產品時,需要完成下列高階工作:

  1. 建立資料產品

    這個必要初始步驟需要定義核心詳細資料,例如專屬資料產品名稱、說明、建立資料產品的區域,以及擁有者詳細資料。

  2. 選用:新增素材資源

    在這個階段,您可以選取要納入資料產品的資產。重要限制是資產必須與資料產品本身位於相同區域。資料產品最多只能新增 10 項資產。

    如需支援的資產清單,請參閱「支援的資產」。

  3. 選用:設定存取權群組和資產權限

    在這個選用階段,您可以建立存取群組,簡化存取權控管機制。這些存取群組是基礎 Google 群組的別名,方便使用者辨識 (例如 AnalystReader)。然後選取特定 IAM 角色,並將其對應至特定資產的存取群組,即可指派權限。

  4. 選用:新增其他詳細資料,例如合約、層面和文件

    這個選用階段可強化治理和中繼資料。您可以新增合約 (第一方層面類型),正式傳達雙方同意的資料重新整理頻率,並指定重新整理頻率、重新整理時間和門檻等參數。您也可以加入切面,為資料產品提供其他中繼資料。此外,您還可以新增 RTF 說明文件,例如使用手冊和查詢範例。

如要建立及設定資料產品,請完成下列各節的步驟:

建立資料產品

控制台

  1. 在 Google Cloud 控制台,前往 Dataplex Universal Catalog 的「資料產品」頁面。

    前往「資料產品」

  2. 點選「建立」

  3. 在「建立資料產品」窗格中,輸入下列詳細資料:

    • 資料產品名稱:輸入資料產品的專屬名稱。
    • 資料產品 ID:這是系統自動產生的專屬 ID。 您可以編輯這個欄位。
    • 專案 ID:這是建立資料產品的專案專屬 ID。瀏覽並選取專案。
    • 區域:選取資料產品的建立區域或多區域。
    • 圖示:瀏覽並選取圖示,以視覺化方式識別資料產品。您可以視需要決定是否啟用。
    • 說明:輸入資料產品的簡要說明。
    • 聯絡人:輸入資料產品擁有者的電子郵件 ID。
    • 標籤:新增鍵值標籤,整理資源。這項設定為選用。
  4. 按一下「建立資料產品」

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

選用:新增素材資源

控制台

  1. 在「新增資產」窗格中,按一下「+新增」

  2. 搜尋並選取要新增至資料產品的資產。 所選資產必須與資料產品位於相同區域。

    如果您擁有必要權限,點選資產即可查看資產的中繼資料。

  3. 如要縮小搜尋結果範圍,請使用「篩選器」

  4. 選取素材資源後,按一下「新增」

  5. 按一下「繼續」

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

選用:設定存取權群組和資產權限

在「設定存取權群組和資產權限」窗格中,您可以建立存取權群組,並將權限指派給資產。

設定存取權群組

控制台

  1. 按一下「新增存取群組」

  2. 在「存取群組名稱」欄位中,輸入存取群組的名稱。 例如:Analyst

  3. 在「存取權群組說明」欄位中,輸入存取權群組的說明。

  4. 在「存取權群組 ID」欄位中,輸入要指派給這個存取權群組的 Google 群組電子郵件地址。要求存取這個存取權群組的資料產品消費者,可以新增為對應 Google 群組的成員。

    如果沒有 Google 群組,可以自行建立。詳情請參閱「在 Google Cloud 控制台中建立及管理 Google 群組」。

  5. 按一下「新增」。

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

設定資產權限

設定存取群組後,即可設定資料產品中資產的權限。

控制台

  1. 在「資產權限」部分,選取要設定權限的資產。

  2. 按一下「設定權限」

  3. 在「選取存取權群組」欄位中,選取存取權群組。

  4. 在「指派 IAM 角色」欄位中,選取要指派給存取群組的 IAM 角色。

    舉例來說,如果您的資產是名為 Sales 的 BigQuery 資料表,且您選取了 Analyst 存取群組,並將 BigQuery Metadata Viewer 角色指派給這個存取群組,則屬於 Analyst 存取群組的資料產品消費者,就會擁有 Sales 資料表的 BigQuery Metadata Viewer 權限。

    您可以為資產新增多個角色。

  5. 按一下「設定」。資產現在會顯示指派的權限。

  6. 如要設定其他資產的權限,請重複上述步驟。

  7. 按一下「繼續」

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

選填:新增其他詳細資料

您也可以為資料產品新增合約、切面和其他說明文件。

新增合約

控制台

  1. 在「新增其他詳細資料」窗格中,按一下「新增合約」

  2. 在「Select contract」(選取合約) 欄位中,選取「Refresh cadence」。

  3. 在「頻率」欄位中,選取雙方同意的資料更新或傳送時間表,確保資料從產生者到消費者之間能順利傳輸。例如:Weekly

  4. 在「更新時間」欄位中,輸入資料在來源更新後,最晚何時可供消費者使用的時間。例如:23:00 PST

  5. 在「Threshold (in minutes)」(門檻 (以分鐘為單位)) 欄位中,輸入可接受的資料傳送延遲時間 (以分鐘為單位)。舉例來說,輸入 30 可將門檻設為 30 分鐘。

  6. 選用:在「Cron schedule」(Cron 排程) 欄位中,輸入定義資料產生和傳送排程的 Cron 運算式,格式為:MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK

    系統接受的值如下:

    • MINUTE0-59
    • HOUR0-23
    • DAY_OF_MONTH1-31
    • MONTH1-31JAN-DEC
    • DAY_OF_WEEK0-6SUN-SAT

    舉例來說,0 8 * * 1-5 會在平日 (週一至週五) 上午 8:00 執行。

  7. 按一下 [儲存]

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

新增其他中繼資料

如要將資料產品的其他中繼資料新增為切面,請按照下列步驟操作:

控制台

  1. 在「新增其他詳細資料」窗格中,按一下「+ 新增面向」

  2. 在「選取面向類型」欄位中,搜尋並從清單中選取面向類型。例如:Geo context

  3. 在「國家/地區」欄位中,選取資產所屬的國家/地區。

  4. 在「Region」(區域) 欄位中,選取資產所屬的業務區域。

  5. 按一下 [儲存]

  6. 如要新增使用手冊或查詢範例等其他說明文件,請按一下「說明文件」旁的「編輯」。系統會開啟 RTF 格式編輯器。 新增內容,然後按一下「儲存」

  7. 按一下 [儲存]

    新建立的資料產品會顯示在 Dataplex Universal Catalog 的「資料產品」頁面。

REST

如要新增資料產品的切面和說明文件,請使用 entries.patch 方法。

資料產品的文件是透過系統切面類型 overview 管理。

後續步驟