管理連結
本文說明如何查看、列出、共用、編輯、刪除及排解 BigQuery 連線問題。
BigQuery 管理員可以建立及管理連線,用於連線至服務和外部資料來源。BigQuery 分析師可使用這些連線,針對外部資料來源提交查詢,不必將資料移至 BigQuery 或複製到 BigQuery。您可以建立下列類型的連結:
- Amazon S3 連線
- Apache Spark 連線
- Blob 儲存空間連線
- 雲端資源連線:連線至 Cloud Storage 資料,並實作遠端函式
- Spanner 連線
- Cloud SQL 連線
- AlloyDB 連線
如要為專案建立預設連線,請參閱預設連線總覽。
事前準備
啟用 BigQuery Connection API。
確認您可以在專案中查看服務帳戶清單。 BigQuery 會建立並使用服務帳戶,連線至外部資料來源。建立連線時,系統會代您建立 Trusted Cloud代管的身分與存取權管理 (IAM) 服務帳戶。如要查看附加至特定連線的服務帳戶,請查看連線詳細資料。
必要的角色
如要取得管理連線所需的權限,請管理員授予下列 IAM 角色:
-
查看連線詳細資料:
資料集上的 BigQuery Connection User (
roles/bigquery.connectionUser
) -
列出所有連線:
資料集上的「BigQuery 連線使用者」 (
roles/bigquery.connectionUser
) -
共用連線:
連線的 BigQuery 連線管理員 (
roles/bigquery.connectionAdmin
) -
編輯連線:
連線的 BigQuery 連線管理員 (
roles/bigquery.connectionAdmin
) -
刪除連線:
連線上的「BigQuery 連線管理員」 (
roles/bigquery.connectionAdmin
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要瞭解建立及使用預設連線所需的角色,請參閱必要角色和權限。
這些預先定義的角色具備執行本文中工作所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
- 查看連線詳細資料:
bigquery.connections.get
- 列出所有連線:
bigquery.connections.list
- 編輯及刪除連結:
bigquery.connections.update
- 分享連線:
bigquery.connections.setIamPolicy
列出所有連線
選取下列選項之一:
主控台
前往「BigQuery」頁面
連線會列在專案的「External connections」(外部連線) 群組中。
在「Explorer」窗格中,依序點選專案名稱 >「外部連線」,即可查看所有連線的清單。
bq
輸入 bq ls
指令並指定 --connection
旗標。您可以視需要指定 --project_id
和 --location
標記,識別要列出的連線所屬專案和位置。
bq ls --connection --project_id=PROJECT_ID --location=REGION
更改下列內容:
PROJECT_ID
:您的 Trusted Cloud 專案 IDREGION
:連線區域
API
使用 REST API 參考資料章節中的 projects.locations.connections.list
方法。
Java
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
查看連線詳細資料
建立連線後,您可以取得連線設定的相關資訊。這些設定包括您在建立移轉時提供的值。
選取下列選項之一:
主控台
前往「BigQuery」頁面
連線會列在專案的「External connections」(外部連線) 群組中。
在「Explorer」窗格中,依序點選專案名稱 >「外部連線」>「連線」。
bq
輸入 bq show
指令並指定 --connection
旗標。(選用) 使用連線的專案 ID 和區域,限定連線 ID。
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
更改下列內容:
PROJECT_ID
:您的 Trusted Cloud 專案 IDREGION
:連線區域CONNECTION_I
:連線 ID
API
使用 REST API 參考資料章節中的 projects.locations.connections.get
方法。
Java
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
與使用者共用連線
您可以授予下列角色,讓使用者查詢資料及管理連線:
roles/bigquery.connectionUser
:可讓使用者透過連線功能連結外部資料來源,並對其執行查詢。roles/bigquery.connectionAdmin
:允許使用者管理連線。
如要進一步瞭解 BigQuery 中的 IAM 角色和權限,請參閱預先定義的角色和權限一文。
選取下列選項之一:
主控台
前往「BigQuery」頁面
連線會列在專案的「External connections」(外部連線) 群組中。
在「Explorer」窗格中,依序點選專案名稱 >「外部連線」>「連線」。
在「詳細資料」窗格中,按一下「分享」即可分享連線。 接著,按照下列步驟操作:
在「連線權限」對話方塊中,新增或編輯主體,與其他主體共用連線。
按一下 [儲存]。
bq
您無法使用 bq 指令列工具共用連線。 如要共用連線,請使用 Trusted Cloud 控制台或 BigQuery Connections API 方法共用連線。
API
請使用 BigQuery Connections REST API 參考資料中的 projects.locations.connections.setIAM
方法,並提供 policy
資源的執行個體。
Java
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
編輯連結
連線會使用建立者的憑證。如要變更與連線相關聯的使用者,可以更新使用者的憑證。當建立連結的使用者已不在您的機構時,這個方法十分實用。
您無法編輯連線的下列元素:
- 連線類型
- 連線 ID
- 位置
選取下列選項之一:
主控台
前往「BigQuery」頁面
連線會列在專案的「External connections」(外部連線) 群組中。
在「Explorer」窗格中,依序點選專案名稱 >「外部連線」>「連線」。
在「詳細資料」窗格中,如要編輯詳細資料,請按一下「編輯詳細資料」
。接著,按照下列步驟操作:在「編輯連線」對話方塊中,編輯連線詳細資料,包括使用者憑證。
按一下「更新連結」。
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
:資料庫名稱- :Cloud SQL 資料庫的使用者名稱
USERNAME
PASSWORD
:Cloud SQL 資料庫的密碼PROJECT
:專案 ID Trusted CloudREGION
:連線區域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
的執行個體。
Java
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
刪除連線
選取下列選項之一:
主控台
前往「BigQuery」頁面
連線會列在專案的「External connections」(外部連線) 群組中。
在「Explorer」窗格中,依序點選專案名稱 >「外部連線」>「連線」。
在「詳細資料」窗格中,按一下「刪除」
,即可刪除連線。在「刪除連結?」對話方塊中輸入
delete
,確認要刪除連結。點選「刪除」。
bq
輸入 bq rm
指令並提供連線旗標 --connection
。必須提供完整的 connection_id
。
bq rm --connection PROJECT_ID.REGION.CONNECTION_ID
更改下列內容:
PROJECT_ID
:您的 Trusted Cloud 專案 IDREGION
:連線區域CONNECTION_ID
:連線 ID
API
請參閱 REST API 參考資料章節中的
projects.locations.connections.delete
方法。
Java
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
後續步驟
- 瞭解如何使用遙控器功能。
- 瞭解如何使用 Spark 預存程序。