建立已授權視圖

BigQuery 是一種 PB 等級的分析資料倉儲,可用來對大量資料執行幾乎即時的 SQL 查詢。

為資料集提供視圖存取權又稱為在 BigQuery 中建立已授權視圖。 已授權視圖可讓您與特定使用者和群組分享查詢結果,而不用為他們提供基礎資料表的存取權。您也可以使用視圖的 SQL 查詢來限制使用者能夠查詢的資料欄 (欄位)。在這個教學課程內容中,您會建立已授權的視圖。

目標

在這個教學課程中,您將執行下列作業:

  • 建立資料集並將存取權控制套用到這些資料集
  • 指派專案的存取權控制
  • 建立限制資料使用者能夠查詢的已授權視圖

費用

BigQuery 是一種付費產品,您在這個教學課程中將會產生 BigQuery 使用費。BigQuery 查詢價格提供每月前 1 TB 用量免費的優惠。詳情請參閱定價頁面。

事前準備

開始這個教學課程之前,請使用 Google Cloud Platform 主控台來建立或選取專案並啟用計費功能。

  1. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 選取或建立 Google Cloud Platform 專案。

    前往「Manage resources」(管理資源) 頁面

  3. 請確認您已啟用 Google Cloud Platform 專案的計費功能。

    瞭解如何啟用計費功能

  4. 新專案會自動啟用 BigQuery。 如要在現有專案中啟動 BigQuery,請執行下列指令: 啟用BigQuery API。

    啟用 API

簡介

在這個教學課程中,您會建立兩個資料集 - 一個資料集適用於您的來源資料,第二個資料集適用於您的已授權視圖。您會將來自 GitHub 公開資料集的資料填入來源資料集。然後您會建立在來源資料集中查詢資料表的視圖。

當您建立資料集與視圖後,您可將存取權控制指派給專案、包含視圖的資料集,以及包含來源資料的資料集。

為來源資料集提供視圖存取權又稱為建立已授權視圖。當您建立已授權視圖時,請按照下列步驟操作:

  • 建立儲存視圖的單獨資料集
  • 在新資料集中建立視圖
  • 為專案指派存取權控制
  • 為包含視圖的資料集指派存取權控制
  • 授權視圖存取來源資料集

建立來源資料集

您一開始可以建立儲存來源資料的資料集。針對這個教學課程,您會查詢 GitHub 公開資料集以在來源資料集中填入表格。來源資料集中的資料包含您不想讓資料分析師看見的資訊。您可以使用已授權視圖來限制資料的存取權。

建立來源資料集:

主控台

  1. 在 GCP 主控台中開啟 BigQuery 網頁版 UI。
    前往 BigQuery 網頁版 UI

  2. 在導覽面板的「Resources」(資源) 部分,選取您的專案並按一下 [Create dataset] (建立資料集)

  3. 針對「Dataset ID」(資料集 ID) 輸入 github_source_data

  4. 保持其他設定為預設值,並按一下 [Create dataset] (建立資料集)

傳統版 UI

  1. 前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 在導覽區中按一下專案名稱旁的向下箭號圖示 向下箭號圖示,然後點選 [Create new dataset] (新建資料集)

  3. 針對「Dataset ID」(資料集 ID) 輸入 github_source_data

  4. 保持其他所有預設設定不變,並按一下 [OK]

指令列

使用 mk 指令建立資料集。

bq mk github_source_data

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

from google.cloud import bigquery

client = bigquery.Client()
source_dataset_id = 'github_source_data'

source_dataset = bigquery.Dataset(client.dataset(source_dataset_id))
# Specify the geographic location where the dataset should reside.
source_dataset.location = 'US'
source_dataset = client.create_dataset(source_dataset)  # API request

建立來源資料集之後,您可使用 SQL 查詢在其中填入資料表。此查詢會從 GitHub 公開資料集中擷取資料。

主控台

  1. 在 GCP 主控台中開啟 BigQuery 網頁版 UI。
    前往 BigQuery 網頁版 UI

  2. 按一下 [Compose new query] (撰寫新查詢)

  3. 複製下列查詢並貼到「Query Editor」(查詢編輯器) 文字區域。

    #standardSQL
    SELECT
      commit,
      author,
      committer,
      repo_name
    FROM
      `bigquery-public-data.github_repos.commits`
    LIMIT
      1000
    
  4. 按一下 [More] (更多) 並選取 [Query settings] (查詢設定)

  5. 在「Destination」(目的地) 部分,勾選 [Set a destination table for query results] (為查詢結果設定目標資料表) 方塊。

    • 在「Project name」(專案名稱) 部分,確認已選取專案。
    • 在「Dataset name」(資料集名稱) 部分,確認已選取 github_source_data
    • 在「Table name」(資料表名稱) 部分,輸入:github_contributors
    • 按一下 [Save] (儲存)

  6. 按一下 [Run] (執行)。

  7. 查詢完成時,按一下 [github_contributors],然後點選 [Preview] (預覽),確認已將資料寫入資料表。

傳統版 UI

  1. 前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 按一下 [COMPOSE QUERY] 按鈕。

  3. 複製以下查詢,然後貼到「New Query」文字區域中。

    #standardSQL
    SELECT
      commit,
      author,
      committer,
      repo_name
    FROM
      `bigquery-public-data.github_repos.commits`
    LIMIT
      1000
    
  4. 按一下 [Show Options]

  5. 在「Destination Table」(目標資料表) 部分,按一下 [Select Table] (選取資料表)

  6. 在「Select Destination Table」(選取目標資料表) 對話方塊中:

    • 在「Project」(專案) 部分,確認已選取專案。
    • 在「Dataset」(資料集) 部分,確認已選取 github_source_data
    • 在「Table ID」(表格 ID) 部分輸入:github_contributors
    • 按一下 [Ok]

  7. 點選 [Run Query]

  8. 查詢完成時,按一下 [github_contributors],然後點選 [Preview] (預覽),確認已將資料寫入資料表。

指令列

使用 query 指令並搭配使用 --destination_table 標記,將查詢結果寫入 github_source_data 資料集中的資料表。

bq query --destination_table=github_source_data.github_contributors --use_legacy_sql=false 'SELECT commit, author, committer, repo_name FROM
`bigquery-public-data.github_repos.commits` LIMIT 1000'

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

source_table_id = 'github_contributors'
job_config = bigquery.QueryJobConfig()
job_config.destination = source_dataset.table(source_table_id)
sql = """
    SELECT commit, author, committer, repo_name
    FROM `bigquery-public-data.github_repos.commits`
    LIMIT 1000
"""
query_job = client.query(
    sql,
    # Location must match that of the dataset(s) referenced in the query
    # and of the destination table.
    location='US',
    job_config=job_config)  # API request - starts the query

query_job.result()  # Waits for the query to finish

建立儲存視圖的單獨資料集

建立來源資料集之後,您會建立新資料集來儲存您將與資料分析師分享的視圖。這個視圖會有來源資料集中資料的存取權。您的資料分析師會有視圖的存取權,而非來源資料的存取權。

當您建立視圖時,必須在與視圖查詢的來源資料不同的資料集中建立那個視圖。因為您只能在資料集層級指派存取權控制,如果在與來源資料相同的資料集中建立視圖,您的資料分析師就會同時擁有視圖與資料的存取權。

建立儲存視圖的資料集:

主控台

  1. 在 GCP 主控台中開啟 BigQuery 網頁版 UI。
    前往 BigQuery 網頁版 UI

  2. 在導覽面板的「Resources」(資源) 部分,選取您的專案並按一下 [Create dataset] (建立資料集)

  3. 在「Dataset ID」(資料集 ID) 部分輸入 shared_views

  4. 保持其他設定為預設值,並按一下 [Create dataset] (建立資料集)

傳統版 UI

  1. 前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 在導覽區中按一下專案名稱旁的向下箭號圖示 向下箭號圖示,然後點選 [Create new dataset] (新建資料集)

  3. 在「Dataset ID」(資料集 ID) 部分輸入 shared_views

  4. 保持其他所有預設設定不變,並按一下 [OK]

指令列

使用 mk 指令建立資料集。

bq mk shared_views

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

shared_dataset_id = 'shared_views'
shared_dataset = bigquery.Dataset(client.dataset(shared_dataset_id))
shared_dataset.location = 'US'
shared_dataset = client.create_dataset(shared_dataset)  # API request

在新資料集中建立視圖

您可在新資料集中建立您想要授權的視圖。這是您與資料分析師分享的視圖。這個視圖使用 SQL 查詢建立,其中不包含您不想要資料分析師看見的資料欄。

對於這個教學課程,您分享的視圖不包含除作者姓名以外的所有作者資訊,以及除修訂者姓名以外的所有修訂者資訊。

在新資料集中建立視圖:

主控台

  1. 在 GCP 主控台中開啟 BigQuery 網頁版 UI。
    前往 BigQuery 網頁版 UI

  2. 按一下 [Compose new query] (撰寫新查詢)

  3. 複製下列查詢並貼到「Query Editor」(查詢編輯器) 文字區域。用您的專案 ID 取代 [PROJECT_ID]

    #standardSQL
    SELECT
      commit,
      author.name as author,
      committer.name as committer,
      repo_name
    FROM
      `[PROJECT_ID].github_source_data.github_contributors`
    
  4. 按一下 [More] (更多) 並選取 [Query settings] (查詢設定)

  5. 在「SQL dialect (SQL 方言) 下選取 [Standard] (標準)。按一下 [Save] (儲存) 以更新查詢設定。

  6. 按一下 [Save View] (儲存視圖)

  7. 在「Save View」(儲存視圖) 對話方塊中:

    • 在「Project name」(專案名稱) 部分,確認已選取專案。
    • 在「Dataset name」(資料集名稱) 部分,確認已選取 shared_views
    • 在「Table name」(資料表名稱) 部分,輸入:github_analyst_view
    • 按一下 [Save] (儲存)

傳統版 UI

  1. 前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 按一下 [COMPOSE QUERY] 按鈕。

  3. 複製以下查詢,然後貼到「New Query」(新查詢) 文字區域中。用您的專案 ID 取代 [PROJECT_ID]

    #standardSQL
    SELECT
      commit,
      author.name as author,
      committer.name as committer,
      repo_name
    FROM
      `[PROJECT_ID].github_source_data.github_contributors`
    
  4. 按一下 [Show Options] (顯示選項)

  5. 取消勾選 [Use Legacy SQL]

  6. 按一下 [Save View] (儲存視圖)

  7. 在「Save View」(儲存視圖) 對話方塊中:

    • 在「Project」(專案) 部分,確認已選取專案。
    • 在「Dataset」(資料集) 部分,確認已選取 shared_views
    • 在「Table ID」(表格 ID) 部分,輸入:github_analyst_view
    • 按一下 [Ok]

指令列

使用 mk 指令並搭配使用 --view 標記。用您的專案 ID 取代 [PROJECT_ID]

bq mk --use_legacy_sql=false --view='SELECT commit, author.name as author, committer.name as committer, repo_name FROM `[PROJECT_ID].github_source_data.github_contributors`' shared_views.github_analyst_view

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

shared_view_id = 'github_analyst_view'
view = bigquery.Table(shared_dataset.table(shared_view_id))
sql_template = """
    SELECT
        commit, author.name as author,
        committer.name as committer, repo_name
    FROM
        `{}.{}.{}`
"""
view.view_query = sql_template.format(
    client.project, source_dataset_id, source_table_id)
view = client.create_table(view)  # API request

指派專案層級身分與存取權管理角色給資料分析師

為了查詢視圖,您的資料分析師需要執行查詢工作的權限。bigquery.user 角色包含執行工作的權限,其中包括在專案內查詢工作。如果您授予使用者或群組專案層級的 bigquery.user 角色,使用者可以建立資料集,並且可以針對這些資料集中的資料表執行查詢工作。bigquery.user 角色不會針對使用者並未建立的資料集授予使用者查詢資料、查看資料表資料或查看資料表結構定義詳細資訊的權限。

將專案層級 bigquery.user 角色指派給資料分析師,並不會賦予他們在包含視圖查詢之資料表的資料集中查看或查詢資料表資料的能力。應該為企業中的大部分個體 (數據資料科學家、企業情報分析師) 指派專案層級 bigquery.user 角色。

針對這個教學課程,您的資料分析師位於名為 data_analysts@example.com 的群組中。這個群組名稱只是作為舉例的目的使用。當您將群組新增至 IAM 角色時,電子郵件地址和網域必須與有效的 Google 帳戶或 Google Apps 帳戶相關聯。

將資料分析師群組指派給專案層級的 bigquery.user 角色:

主控台

  1. 在 Google Cloud Platform 主控台開啟「IAM」頁面。

    開啟 IAM 頁面

  2. 按一下 [選取專案]

  3. 選擇您的專案並點選 [Open]

  4. 在「IAM」(身分與存取權管理) 頁面按一下 [Add] (新增)

  5. 在「Add members」(新增成員) 對話方塊中:

    • 在「Members」(成員) 部分輸入群組名稱:data_analysts@example.com
    • 針對「Roles」,按一下 [Select a role] 並選擇 [BIgQuery] > [BigQuery User]
    • 按一下 [Add] (新增)

傳統版 UI

  1. 在 Google Cloud Platform 主控台開啟「IAM」頁面。

    開啟 IAM 頁面

  2. 按一下 [選取專案]

  3. 選擇您的專案並點選 [Open]

  4. 在「IAM」(身分與存取權管理) 頁面按一下 [Add] (新增)

  5. 在「Add members」(新增成員) 對話方塊中:

    • 在「Members」(成員) 部分輸入群組名稱:data_analysts@example.com
    • 針對「Roles」,按一下 [Select a role] 並選擇 [BIgQuery] > [BigQuery User]
    • 按一下 [Add] (新增)

指令列

  1. 如要將單一繫結新增到專案的身分與存取權管理原則,請輸入下列指令。用您的專案 ID 取代 [PROJECT_ID]

    gcloud projects add-iam-policy-binding [PROJECT_ID] --member group:data_analysts@example.com --role roles/bigquery.user
    
  2. 指令會輸出更新後的原則:

    bindings:
    - members:
      - group:data_analysts@example.com
        role: roles/BigQuery.user
    

為包含視圖的資料集指派存取權控制

為了讓您的資料分析師查詢視圖,他們需要包含視圖之資料集的 READER 存取權。bigquery.user 角色可賦予您的資料分析師建立查詢工作所需的權限,但是除非他們也至少有包含視圖之資料集的 READER 存取權,否則他們無法成功查詢視圖。

如要授予資料分析師資料集的 READER 存取權:

主控台

  1. 在「Resources」(資源) 中選取 shared_views 資料集,並按一下 [Share dataset] (分享資料集)

  2. 在「Dataset permissions」(資料集權限) 面板中,按一下 [Add members] (新增成員)

  3. 在「New members」(新增成員) 文字方塊中輸入 data_analysts@example.com

  4. 按一下 [Select role] (選取角色) 並選取 [Viewer] (檢視者)。這樣會對應至資料集層級的 bigquery.dataViewer 角色。

  5. 依序按一下 [Save] (儲存) 及 [Done] (完成)

傳統版 UI

  1. 按一下 shared_views 資料集右側的下拉式箭頭並選擇 [Share Dataset] (分享資料集)

  2. 在「Share Dataset」(分享資料集) 對話方塊的「Add People」(新增成員) 部分,按一下欄位左側的下拉式選單,選擇 [Group by e-mail] (依電子郵件指定的群組)。

  3. 在文字方塊中輸入 data_analysts@example.com

  4. 在「Add People」(新增成員) 欄位的右側,確認已選取 [Can View] (可以檢視)。「Can View」(可以檢視) 會對應到資料集層級的 bigquery.dataViewer

  5. 按一下 [Add] (新增),然後點選 [Save changes] (儲存變更)

指令列

  1. 當您使用指令列工具將存取權控管套用於資料集時,會覆寫現有控管。首先,使用 show 指令將現有存取權控管匯出到 JSON 檔案。

    bq --format=json show shared_views >shared_views.json
    
  2. 使用 READER 角色與 groupByEmail,對 JSON 檔案的「access」(存取) 區段進行變更。

    例如:

    {
     "access": [
      {
       "role": "READER",
       "specialGroup": "projectReaders"
      },
      {
       "role": "WRITER",
       "specialGroup": "projectWriters"
      },
      {
       "role": "OWNER",
       "specialGroup": "projectOwners"
      }
      {
       "role": "READER",
       "specialGroup": "allAuthenticatedUsers"
      }
      {
       "role": "READER",
       "domain": "[DOMAIN_NAME]"
      }
      {
       "role": "WRITER",
       "userByEmail": "[USER_EMAIL]"
      }
      {
       "role": "READER",
       "groupByEmail": "data_analysts@example.com"
      }
     ],
    }
    

  3. 編輯完成後,請使用 update 指令並使用 --source 標記加入 JSON 檔案。

    bq update --source=shared_views.json shared_views

  4. 如要確認您的存取權控制變更,請使用 show 指令。

    bq show shared_views

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

# analyst_group_email = 'data_analysts@example.com'
access_entries = shared_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry('READER', 'groupByEmail', analyst_group_email)
)
shared_dataset.access_entries = access_entries
shared_dataset = client.update_dataset(
    shared_dataset, ['access_entries'])  # API request

授權視圖存取來源資料集

當您建立包含視圖之資料集的存取權控制時,您會將視圖新增為來源資料集中的已授權視圖。這會授予視圖來源資料的存取權,而非資料分析師群組的存取權。

如要授權視圖存取來源資料:

主控台

  1. 從「Resources」(資源) 選取 github_source_data 資料集,並按一下 [Share dataset] (分享資料集)

  2. 在「Dataset permissions」(資料集權限) 面板中,按一下 [Authorized views] (已授權視圖) 分頁標籤。

  3. 在「Share authorized view」(分享已授權視圖) 下:

    • 在「Select project」(選取專案) 部分,確認已選取專案。
    • 在「Select dataset」(選取資料集) 部分,選擇 shared_views
    • 在「Select view」(選取視圖) 部分,輸入視圖名稱:github_analyst_view
    • 按一下 [OK] (確定)

  4. 按一下 [Add] (新增),然後按一下 [Done] (完成)。

傳統版 UI

  1. 按一下 github_source_data 資料集右側的下拉式箭頭,選擇 [Share Dataset] (分享資料集)

  2. 在「Share Dataset」(分享資料集) 對話方塊中的「Add People」(新增成員) 部分,按一下欄位左側的下拉式選單,然後選擇 [Authorized View] (已授權視圖)

  3. 按一下 [Select View] (選取視圖)

  4. 在「Select View」(選取視圖) 對話方塊中:

    • 在「Project」(專案) 部分,確認已選取專案。
    • 在「Dataset」(資料集) 部分,選擇 shared_views
    • 在「Table ID」(資料表 ID) 部分,輸入視圖名稱:github_analyst_view
    • 按一下 [OK] (確定)

  5. 按一下 [Add] (新增),然後點選 [Save changes] (儲存變更)

指令列

  1. 您使用 CLI 將存取權控管套用於資料集時,會覆寫現有控管。首先,使用 show 指令將現有存取權控管匯出到 JSON 檔案。

    bq --format=prettyjson show github_source_data >github_source_data.json
    
  2. 將已授權視圖新增至 JSON 檔案的「access」區段。用您的專案 ID 取代 [PROJECT_ID]

    例如:

    {
     "access": [
      {
       "role": "READER",
       "specialGroup": "projectReaders"
      },
      {
       "view":{
       "datasetId": "shared_views",
       "projectId": "[PROJECT_ID]",
       "tableId": "github_analyst_view"
       }
      },
      ...
     ],
     ...
    }
    

    為求簡潔,會省略 JSON 檔案中的某些文字。

  3. 編輯完成後,請使用 update 指令並使用 --source 標記加入 JSON 檔案。

    bq update --source=github_source_data.json github_source_data

  4. 如要確認您的存取權控制變更,請使用 show 指令。

    bq show github_source_data

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

access_entries = source_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry(None, 'view', view.reference.to_api_repr())
)
source_dataset.access_entries = access_entries
source_dataset = client.update_dataset(
    source_dataset, ['access_entries'])  # API request

驗證設定

設定完成時,data_analysts 群組的成員可以透過查詢視圖來驗證設定。

驗證設定:

主控台

  1. data_analysts 群組的成員前往 GCP 主控台中的 BigQuery 網頁版 UI。
    前往 BigQuery 網頁版 UI

  2. 按一下 [Compose new query] (撰寫新查詢) 按鈕。

  3. 複製下列查詢並貼到「Query Editor」(查詢編輯器) 文字區域。

    #standardSQL
    SELECT
      *
    FROM
      `shared_views.github_analyst_view`
    

傳統版 UI

  1. data_analysts 群組的成員前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 按一下 [COMPOSE QUERY] 按鈕。

  3. 複製以下查詢,然後貼到「New Query」文字區域中。

    #standardSQL
    SELECT
      *
    FROM
      `shared_views.github_analyst_view`
    

指令列

使用 query 指令查詢視圖。

bq query --use_legacy_sql=false 'SELECT * FROM `shared_views.github_analyst_view`'

完整原始碼

以下是供您參考的完整教學課程原始碼。

Python

在試用這個範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

# Create a source dataset
from google.cloud import bigquery

client = bigquery.Client()
source_dataset_id = 'github_source_data'

source_dataset = bigquery.Dataset(client.dataset(source_dataset_id))
# Specify the geographic location where the dataset should reside.
source_dataset.location = 'US'
source_dataset = client.create_dataset(source_dataset)  # API request

# Populate a source table
source_table_id = 'github_contributors'
job_config = bigquery.QueryJobConfig()
job_config.destination = source_dataset.table(source_table_id)
sql = """
    SELECT commit, author, committer, repo_name
    FROM `bigquery-public-data.github_repos.commits`
    LIMIT 1000
"""
query_job = client.query(
    sql,
    # Location must match that of the dataset(s) referenced in the query
    # and of the destination table.
    location='US',
    job_config=job_config)  # API request - starts the query

query_job.result()  # Waits for the query to finish

# Create a separate dataset to store your view
shared_dataset_id = 'shared_views'
shared_dataset = bigquery.Dataset(client.dataset(shared_dataset_id))
shared_dataset.location = 'US'
shared_dataset = client.create_dataset(shared_dataset)  # API request

# Create the view in the new dataset
shared_view_id = 'github_analyst_view'
view = bigquery.Table(shared_dataset.table(shared_view_id))
sql_template = """
    SELECT
        commit, author.name as author,
        committer.name as committer, repo_name
    FROM
        `{}.{}.{}`
"""
view.view_query = sql_template.format(
    client.project, source_dataset_id, source_table_id)
view = client.create_table(view)  # API request

# Assign access controls to the dataset containing the view
# analyst_group_email = 'data_analysts@example.com'
access_entries = shared_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry('READER', 'groupByEmail', analyst_group_email)
)
shared_dataset.access_entries = access_entries
shared_dataset = client.update_dataset(
    shared_dataset, ['access_entries'])  # API request

# Authorize the view to access the source dataset
access_entries = source_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry(None, 'view', view.reference.to_api_repr())
)
source_dataset.access_entries = access_entries
source_dataset = client.update_dataset(
    source_dataset, ['access_entries'])  # API request

清除所用資源

如何避免系統向您的 Google Cloud Platform 帳戶收取您在本教學課程中使用資源的相關費用:

  1. 前往 GCP 主控台的「Projects」(專案) 頁面。

    前往專案頁面

  2. 在專案清單中選取要刪除的專案,然後按一下 [Delete] (刪除)
  3. 在對話方塊中輸入專案 ID,按一下 [Shut down] (關閉) 即可刪除專案。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁