管理連結
在 BigQuery 中管理連線,即可控管 BigQuery 連至外部資料來源和服務的方式,讓分析師不必將外部資料移至或複製到 BigQuery,就能查詢這些資料。您可以查看、列出、共用、更新、刪除及排解專案中的連線問題。
支援的連線類型
您可以建立下列類型的連結:
- Amazon S3 連線
- Apache Spark 連線
- Blob 儲存體連線
- Cloud 資源連結:用於連結 Cloud Storage 資料及實作遠端函式
- Spanner 連線
- Cloud SQL 連線
- AlloyDB 連線
如要為專案建立預設連線,請參閱「預設連線總覽」。
事前準備
啟用 BigQuery Connection API。
確認您可以查看專案中的服務帳戶清單。BigQuery 會建立並使用服務帳戶,連線至外部資料來源。建立連線時,系統會代您建立 Google Cloud代管的 Identity and Access Management (IAM) 服務帳戶。如要查看附加至特定連線的服務帳戶,請查看連線詳細資料。
必要的角色
如要取得管理連線所需的權限,請要求管理員授予您下列 IAM 角色:
-
查看連線詳細資料:資料集的 BigQuery 連線使用者 (
roles/bigquery.connectionUser) -
列出所有連線:資料集的 BigQuery 連線使用者 (
roles/bigquery.connectionUser) -
共用連線:連線的 BigQuery 連線管理員 (
roles/bigquery.connectionAdmin) -
編輯連線:連線的 BigQuery 連線管理員 (
roles/bigquery.connectionAdmin) -
刪除連線:連線的 BigQuery 連線管理員 (
roles/bigquery.connectionAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要瞭解建立及使用預設連線所需的角色,請參閱「必要角色和權限」。
這些預先定義的角色具備執行本文件所述工作所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
- 查看連線詳細資料:
bigquery.connections.get - 列出所有連線:
bigquery.connections.list - 編輯及刪除連結:
bigquery.connections.update - 分享連線:
bigquery.connections.setIamPolicy
列出所有連線
選取下列選項之一:
控制台
前往「BigQuery」頁面。
連線會列在專案的「連線」群組中。
點選左側窗格中的 「Explorer」。

如果沒有看到左側窗格,請按一下 「Expand left pane」(展開左側窗格),開啟窗格。
在「Explorer」窗格中,依序點選專案名稱和「Connections」(連線),即可查看所有連線的清單。
bq
輸入 bq ls 指令,並指定 --connection 旗標。您可以視需要指定 --project_id 和 --location 旗標,找出要列出的連線專案和位置。
bq ls --connection --project_id=PROJECT_ID --location=REGION
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 IDREGION:連線區域
API
使用 REST API 參考資料部分中的 projects.locations.connections.list 方法。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱 BigQuery Python API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱 BigQuery Node.js API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
查看連線詳細資料
建立連線後,您可以取得連線設定的相關資訊。設定包含您在建立移轉作業時提供的值。
選取下列選項之一:
控制台
前往「BigQuery」頁面。
連線會列在專案的「連線」群組中。
點選左側窗格中的 「Explorer」。

在「Explorer」窗格中,依序點選專案名稱和「Connections」(連線),即可查看所有連線的清單。
點選連線即可查看詳細資料。
bq
輸入 bq show 指令,並指定 --connection 旗標。您可以視需要使用專案 ID 和連線區域,限定連線 ID。
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 IDREGION:連線區域CONNECTION_ID:連線 ID
API
使用 REST API 參考資料部分的 projects.locations.connections.get 方法。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱 BigQuery Python API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱 BigQuery Node.js API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
取得連線的身分與存取權管理 (IAM) 政策
請按照下列步驟,取得連線的 IAM 政策:
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱 BigQuery Python API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱 BigQuery Node.js API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
與使用者共用連線
您可以授予下列角色,讓使用者查詢資料及管理連結:
roles/bigquery.connectionUser:可讓使用者透過連線,連至外部資料來源並執行查詢。roles/bigquery.connectionAdmin:可讓使用者管理連線。
如要進一步瞭解 BigQuery 的 IAM 角色和權限,請參閱「預先定義的角色和權限」。
選取下列選項之一:
控制台
前往「BigQuery」頁面。
連線會列在專案的「連線」群組中。
點選左側窗格中的 「Explorer」。

如果沒有看到左側窗格,請按一下 「Expand left pane」(展開左側窗格),開啟窗格。
依序點選專案和「連線」,然後選取連線。
在「詳細資料」窗格中,按一下「共用」即可共用連線。接著,按照下列步驟操作:
在「Connection permissions」(連線權限) 對話方塊中,新增或編輯主體,與其他主體共用連線。
按一下 [儲存]。
bq
您無法使用 bq 指令列工具共用連線。如要共用連線,請使用 Google Cloud 控制台或 BigQuery Connections API 方法。
API
使用 BigQuery Connections REST API 參考資料部分的 projects.locations.connections.setIAM 方法,並提供 policy 資源的執行個體。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
編輯連線
連線會使用建立者的憑證。如需變更與連線連結的使用者,可以更新使用者的憑證。如果建立連線的使用者已離開貴組織,這項功能就非常實用。
您無法編輯連結的下列元素:
- 連線類型
- 連線 ID
- 位置
選取下列選項之一:
控制台
前往「BigQuery」頁面。
連線會列在專案中名為「Connections」(連線) 的群組。
點選左側窗格中的 「Explorer」。

在「Explorer」窗格中,依序點選專案名稱和「Connections」(連線),即可查看所有連線的清單。
如要查看詳細資料,請按一下連線。
在「Connection info」(連線資訊) 部分,按一下 「Edit details」(編輯詳細資料)。接著,按照下列步驟操作:
在「Edit connection」(編輯連線) 對話方塊中,編輯連線詳細資料,包括使用者憑證。
按一下「Update connection」(更新連線)。
bq
輸入 bq update 指令,並提供連線旗標:--connection。必須提供完整的 connection_id。
bq update --connection --connection_type='CLOUD_SQL'
--properties='{"instanceId" : "INSTANCE",
"database" : "DATABASE", "type" : "MYSQL" }'
--connection_credential='{"username":"USERNAME", "password":"PASSWORD"}'
PROJECT.REGION.CONNECTION_ID
更改下列內容:
INSTANCE:Cloud SQL 執行個體DATABASE:資料庫名稱USERNAME:Cloud SQL 資料庫的使用者名稱PASSWORD:Cloud SQL 資料庫的密碼PROJECT: Google Cloud 專案 IDREGION:連線區域CONNECTION_ID:連線 ID
舉例來說,下列指令會更新專案中的連線,專案 ID 為 federation-test,連線 ID 為 test-mysql。
bq update --connection --connection_type='CLOUD_SQL'
--properties='{"instanceId" : "federation-test:us-central1:new-mysql",
"database" : "imdb2", "type" : "MYSQL" }'
--connection_credential='{"username":"my_username",
"password":"my_password"}' federation-test.us.test-mysql
API
請參閱 REST API 參考資料部分的 projects.locations.connections.patch 方法,並提供 connection 的執行個體。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱 BigQuery Python API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱 BigQuery Node.js API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
刪除連線
選取下列選項之一:
控制台
前往「BigQuery」頁面。
連線會列在專案中名為「Connections」(連線) 的群組。
點選左側窗格中的 「Explorer」。

在「Explorer」窗格中,依序點選專案名稱和「Connections」(連線),即可查看所有連線的清單。
點選連線即可查看詳細資料。
在詳細資料窗格中,按一下「Delete」(刪除) 即可刪除連線。
在「Delete connection?」(要刪除連線嗎?) 對話方塊中,輸入
delete確認刪除。點選「刪除」。
bq
輸入 bq rm 指令並提供連線旗標 --connection。必須提供完整的 connection_id。
bq rm --connection PROJECT_ID.REGION.CONNECTION_ID
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 IDREGION:連線區域CONNECTION_ID:連線 ID
API
請參閱 REST API 參考資料一節中的 projects.locations.connections.delete 方法。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱 BigQuery Python API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱 BigQuery Node.js API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
後續步驟
- 瞭解如何使用遠端函式。
- 瞭解如何使用 Spark 預存程序。