管理 BigQuery 共用功能中的資料交換

身為 Analytics Hub 管理員,您可以執行下列工作:

  • 建立、更新、查看、分享及刪除資料交換
  • 建立、更新、刪除及分享產品資訊。
  • 管理 Analytics Hub 管理員、清單管理員、發布者、訂閱者和觀看者。

根據預設,資料交換是私密的,只有具備該交換存取權的使用者或群組才能查看或訂閱資料。不過,如果您希望讓Google Cloud 使用者 (allAuthenticatedUsers)發現訂閱您的商家資訊,可以要求將資料交換內容公開

事前準備

如要開始使用 BigQuery 共用功能 (原為 Analytics Hub),您必須在 Google Cloud 專案中啟用 Analytics Hub API。

所需權限

如要啟用 Analytics Hub API,您必須具備下列 Identity and Access Management (IAM) 權限:

  • serviceUsage.services.get
  • serviceUsage.services.list
  • serviceUsage.services.enable

以下是具有啟用 Analytics Hub API 所需權限的預先定義 IAM 角色:

  • roles/serviceusage.serviceUsageAdmin

如要進一步瞭解 BigQuery 中的 IAM 角色,請參閱「預先定義的角色與權限」一文。

啟用 Analytics Hub API

如要啟用 Analytics Hub API,請按照下列步驟操作:

控制台

前往 Analytics Hub API 頁面,為您的 Google Cloud 專案啟用 Analytics Hub API。

啟用 Analytics Hub API

gcloud

執行 gcloud services enable 指令:

gcloud services enable analyticshub.googleapis.com

所需權限

如要管理資料交換,您必須具備 Analytics Hub 管理員角色 (roles/analyticshub.admin)。詳情請參閱「Analytics Hub 管理員角色」。如要瞭解如何將這個角色授予其他使用者,請參閱「建立 Analytics Hub 管理員」一文。

建立資料交換庫

如要建立資料交換,請按照下列步驟操作:

主控台

  1. 前往「分享 (Analytics Hub)」頁面。

    前往「分享」(Analytics Hub)

  2. 按一下 「建立交換」

  3. 在「Create exchange」(建立交換) 對話方塊中,選取資料交換的「Project」(專案) 和「Region」(區域)。建立資料交換後,就無法更新專案和地區。

  4. 在「Display name」(顯示名稱) 中,輸入資料交換的名稱。

  5. 選用:在下列欄位中輸入值:

    • 主要聯絡人:輸入資料交換的主要聯絡人網址或電子郵件地址。
    • 說明:輸入資料交換說明。
  6. 如要記錄針對連結資料集執行工作和查詢的使用者所有主要 ID,請按一下「訂閱端電子郵件記錄」切換鈕 (預先發布版)。啟用這個選項後,資料交換庫下方的所有清單項目都會啟用訂閱者電子郵件記錄功能。

  7. 如要開啟公開可偵測性,請按一下「公開可偵測性」切換鈕。公開可供探索的交換平台後,該交換平台中的所有房源資訊都會顯示在目錄中,並可供搜尋。如果啟用公開可發現性,您必須設定交換權限。由於權限會繼承,因此所有房源預設會設定為與交換平台相同的開放搜尋類型。因此,公開交換平台無法提供私人房源,但私人交換平台可以提供公開房源 (例如,您可以在個別房源層級設定公開可發現性類型)。您建立資料交換的專案必須有相關聯的機構和帳單帳戶。

  8. 按一下「建立交換」

  9. 選用步驟:在「Exchange Permissions」部分執行下列步驟:

    1. 在下列欄位中輸入電子郵件地址,即可授予 Analytics Hub 使用者角色:

    2. 如要儲存權限,請按一下「設定權限」

  10. 如果您尚未設定資料交換權限,請按一下「略過」

API

請使用 projects.locations.dataExchanges.create 方法

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID

更改下列內容:

  • PROJECT_ID:您要建立資料交換的專案 ID。
  • LOCATION:資料交換位置。如要進一步瞭解支援 BigQuery sharing (舊稱 Analytics Hub) 的地區,請參閱「支援的區域」。
  • DATAEXCHANGE_ID:資料交換的 ID。

在要求主體中提供資料交換詳細資料。如果要求成功,回應主體會包含資料交換的詳細資料。如果您已啟用訂閱者電子郵件記錄功能 (預覽),資料交換回應就會包含 log_linked_dataset_query_user_email: true

如要進一步瞭解您可以使用 API 在資料交換中執行的作業,請參閱 projects.locations.dataExchanges 方法

更新資料交換

如要更新資料交換,請按照下列步驟操作:

主控台

  1. 前往「分享 (Analytics Hub)」頁面。

    前往「分享」(Analytics Hub)

  2. 在資料交換清單中,按一下要更新的資料交換。

  3. 前往「詳細資料」分頁。

  4. 按一下「編輯廣告交易」

  5. 在「Edit exchange」(編輯交換平台) 對話方塊中,更新下列欄位:

    • 顯示名稱
    • 主要聯絡人
    • 說明
    • 開放搜尋
      • 如果啟用公開可發現性,請將 Analytics Hub 檢視者角色 (roles/analyticshub.viewer) 授予 allUsersallAuthenticatedUsers
      • 如果您停用公開可發現性,請從 allUsersallAuthenticatedUsers 中移除 Analytics Hub 檢視者角色 (roles/analyticshub.viewer)。公開交換機制無法包含私人房源,但私人交換機制可以包含公開房源。
    • 訂閱端電子郵件記錄 (預先發布)

  6. 按一下 [儲存]

API

請使用 projects.locations.dataExchanges.patch 方法

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK

UPDATEMASK 替換為要更新的欄位清單。如要更新多個值,請使用以逗號分隔的清單。舉例來說,如要更新資料交換的顯示名稱和主要聯絡人,請輸入 displayName,primaryContact

在要求主體中,指定下列欄位的更新值:

  • 顯示名稱
  • 說明
  • 說明文件
  • 圖示
  • 主要聯絡人
  • 開放搜尋
  • 訂閱端電子郵件記錄功能 (預先發布版)

如需這些欄位的詳細資訊,請參閱「資源:DataExchange」。

如要進一步瞭解您可以使用 API 在資料交換中執行的作業,請參閱 projects.locations.dataExchanges 方法

查看資料交換

如要查看貴機構中您有權存取的所有資料交換,請按照下列步驟操作:

控制台

  1. 前往「分享 (Analytics Hub)」頁面。

    前往「分享」(Analytics Hub)

  2. 查看 Google Cloud 機構內的資料交換清單。

API

請使用 organizations.locations.dataExchanges.list 方法

GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges

更改下列內容:

  • ORGANIZATION_ID:機構 ID。詳情請參閱「取得機構 ID」。
  • LOCATION:您要列出現有資料交換的位置。

分享資料交換

如果 Analytics Hub 發布者所屬的機構與包含資料交換的機構不同,發布者就無法在「分享」中查看資料交換。您必須與發布端分享資料交換的連結。

  1. 前往「分享 (Analytics Hub)」頁面。

    前往「分享」(Analytics Hub)

  2. 在資料交換清單中,按一下 「更多選項」

  3. 按一下 「複製分享連結」

授予使用者資料交換存取權

如要讓使用者存取資料交換,您必須設定該資料交換的 IAM 政策。如要瞭解預先定義的 IAM 使用者角色,請參閱「Analytics Hub 使用者角色」。請按照以下步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Sharing (Analytics Hub)」(分享 (數據分析中心) 頁面。

    前往「分享」(Analytics Hub)

  2. 按一下要設定權限的資料交換名稱。

  3. 前往「詳細資料」分頁。

  4. 按一下 「設定權限」

  5. 如要新增主體,請按一下 「新增主體」

  6. 在「New principals」(新增主體) 欄位中,新增您要授予存取權的電子郵件 ID。您也可以使用 allUsers 將資源設為公開,讓網際網路上的所有使用者都能存取,或是使用 allAuthenticatedUsers 將資源設為僅供已登入 Google 的使用者存取。

  7. 在「請選取角色」選單中,選取「Analytics Hub」,然後選取下列其中一個 Identity and Access Management (IAM) 角色:

    • Analytics Hub 管理員
    • Analytics Hub 清單管理員
    • Analytics Hub 發布者
    • Analytics Hub 訂閱者
    • Analytics Hub 訂閱項目擁有者
    • Analytics Hub 檢視器
  8. 按一下 [儲存]

API

  1. 使用 projects.locations.dataExchanges.getIamPolicy 方法,透過列出 getIamPolicy 方法讀取現有政策:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    更改下列內容:

    • PROJECT_ID:專案 ID,例如 my-project-1
    • LOCATION:資料交換的位置。請使用小寫英文字母。
    • DATAEXCHANGE_ID:資料交換 ID。

    BigQuery sharing (原 Analytics Hub) 會傳回目前的政策。

  2. 如要新增或移除成員及其相關的身分與存取權管理 (IAM) 角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    舉例來說,如要將 roles/analyticshub.subscriber 角色授予 group:subscribers@example.com,請將下列繫結加入政策:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. 使用 projects.locations.dataExchanges.setIamPolicy 方法編寫更新後的政策。在要求主體中提供先前步驟中更新的 IAM 政策。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    在要求內容中提供商家詳細資料。如果要求成功,回應主體會包含清單的詳細資料。

建立 Analytics Hub 管理員

如要管理資料交換,您必須建立 Analytics Hub 管理員。如要建立資料交換管理員,您必須在專案或資料交換層級授予使用者 Analytics Hub 管理員角色 (roles/analyticshub.admin)

如果您希望管理員管理專案中的所有資料交換,請為該專案授予 Analytics Hub 管理員角色。如果您希望管理員管理特定資料交換,請授予該資料交換的 Analytics Hub 管理員角色

將資料交換公開

根據預設,資料交換是私密的,只有具備該資料交換存取權的使用者或群組才能查看或訂閱其資訊。不過,您可以選擇將資料交換公開。Google Cloud 使用者 (allAuthenticatedUsers) 可以探索及訂閱公開資料交換中的商店資訊。

如要將資料交換公開,請按照下列步驟操作:

  1. 如要讓 allAuthenticatedUsers 查看商家資訊,您必須在資料交換層級授予 allAuthenticatedUsers Analytics Hub 檢視者角色

  2. 如要讓 allAuthenticatedUsers 訂閱商家資訊,您必須在資料交換層級授予 allAuthenticatedUsers Analytics Hub 訂閱者角色

  3. 建立更新資料交換時,請開啟公開可搜尋性。將資料交換公開時,請指定適當的權限。

刪除資料交換

刪除資料交換後,其中的所有產品資訊也會一併刪除。不過,系統不會刪除共用資料集和連結資料集。此外,刪除專案時,其中的資料交換也不會遭到刪除。您必須先刪除這些資料交換,才能刪除專案。刪除資料交換後,無法復原。

如要刪除資料交換,請按照下列步驟操作:

主控台

  1. 前往「分享 (Analytics Hub)」頁面。

    前往「分享」(Analytics Hub)

  2. 在資料交換清單中,按一下要刪除的資料交換。

  3. 前往「詳細資料」分頁。

  4. 按一下 「Delete exchange」(刪除交換機制)

  5. 在「Delete exchange?」對話方塊中,輸入「delete」確認刪除。

  6. 點選「刪除」。

API

請使用 projects.locations.dataExchanges.delete 方法

DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID

如要進一步瞭解您可以使用 API 在資料交換中執行的作業,請參閱 projects.locations.dataExchanges 方法

後續步驟