建立跨雲端連線
跨雲端連線是 BigQuery 連線,可將 Amazon Web Services (AWS)、Microsoft Azure 和 Salesforce Data 360 的資料匯入 BigQuery 進行查詢。這些連結是標準 BigQuery 連結的替代方案,使用 BigQuery Omni,BigQuery 會將輕量運算 worker 部署至遠端區域,讓其他雲端中的資料可供查詢,不需移動任何資料。
相較於標準連線,工作負載可透過跨雲端連線獲得以下好處:
- 功能一致性。將其他雲端的資料匯入 BigQuery 後,您就能直接使用 BigQuery AI 功能、Gemini Enterprise Agent Platform、materialized view、user-defined function,以及其他無法透過標準連線使用的功能。
- 成本效益:使用跨雲端連線的工作負載會耗用標準預留運算單元和承諾使用合約,因此不必另外管理運算容量。
- 智慧型快取。資料在雲端之間移轉時,BigQuery 會自動在本機快取片段,避免後續查詢產生高昂的跨雲端輸出費用。詳情請參閱「智慧型快取」。
如果工作負載涉及 Apache Iceberg 目錄,或需要 BigQuery 以外引擎的查詢支援,建議改用無邊界 Lakehouse 的跨雲端資料存取功能。
事前準備
授予 Identity and Access Management 和第三方角色,讓使用者具備必要權限,可執行本文件中的各項工作。
必要的 BigQuery 角色
如要取得建立跨雲端連結所需的權限,請要求管理員授予您專案的 BigQuery 管理員 (roles/bigquery.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
必要的第三方角色
如要取得建立跨雲端連線所需的權限,請確認您具備下列第三方角色:
- AWS:可讓您在 AWS 帳戶中建立 IAM 政策和角色的角色。
- Azure:可讓您在 Microsoft Entra ID (Azure AD) 中管理應用程式註冊,並在目標 Azure 帳戶上指派角色 (例如儲存體 Blob 資料讀取者) 的角色。
建立 AWS 跨雲端連線
如要建立 AWS 跨雲端連線,請按照下列步驟操作:
- 為 BigQuery 建立 AWS IAM 政策,就像為標準 BigQuery 連線建立政策一樣。
- 按照標準 BigQuery 連線的方式,為 BigQuery 建立 AWS IAM 角色。
如要建立連線資源,請使用
bq mk --connection指令:bq mk --connection \ --connection_type='AWS' \ --location=LOCATION \ --project_id=PROJECT_ID \ --properties='{"accessRole":{"iamRoleId":"arn:aws:iam::AWS_ACCOUNT_ID:role/ROLE_NAME"}}' \ CONNECTION_ID
更改下列內容:
LOCATION:標準 BigQuery 位置,而非 BigQuery Omni 位置。如需選取區域的指南,請參閱「區域建議」。PROJECT_ID: Google Cloud 專案的 ID。AWS_ACCOUNT_ID:上一個步驟中的 AWS IAM 使用者 ID。ROLE_NAME:您選擇的 AWS 角色政策名稱。CONNECTION_ID:要指派給這個連線資源的 ID。
如要進一步瞭解 AWS 連線屬性,請參閱「AwsProperties」。
如要記下服務帳戶資訊,請使用
bq show指令:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
使用服務帳戶資訊,為 AWS 角色新增信任政策,就像標準 BigQuery 連線一樣。
建立 AWS 跨雲端連線後,即可建立資料表和資料集,查詢遠端資料。
AWS 範例
下列範例會建立外部資料表,透過跨雲端連線直接從 Amazon Simple Storage Service (Amazon S3) bucket 查詢 Parquet 檔案:
CREATE SCHEMA `my-project.aws_raw_data` OPTIONS ( location = 'us-east4'); CREATE EXTERNAL TABLE `my-project.aws_raw_data.sales_parquet` WITH CONNECTION `us-east4.my-aws-connection` OPTIONS ( format = 'PARQUET', uris = ['s3://my-data-bucket/sales/year=2025/*']);
下列範例使用 AWS Glue 搭配跨雲端連線,將整個資料庫聯合至 BigQuery:
CREATE EXTERNAL SCHEMA `my-project.aws_glue_data` WITH CONNECTION `us-east4.my-aws-connection` OPTIONS ( location = 'us-east4', external_source = 'aws-glue://arn:aws:glue:us-east-4:123456789:database/test_database');
如要進一步瞭解 AWS Glue 聯盟,請參閱「建立及管理 AWS Glue 聯合資料集」。
建立 Azure 跨雲端連線
如要建立 Azure 跨雲端連線,請按照下列步驟操作:
- 在 Azure 租戶中建立應用程式,就像建立標準 BigQuery 連線一樣,並記下應用程式 (用戶端) 和目錄 (租戶) ID。
- 將角色指派給 Azure 應用程式,就像指派給標準 BigQuery 連線一樣。
如要建立連線資源,請使用
bq mk --connection指令:bq mk --connection \ --connection_type='Azure' \ --tenant_id=TENANT_ID \ --location=LOCATION \ --federated_azure=true \ --federated_app_client_id=APP_ID \ --project_id=PROJECT_ID \ CONNECTION_ID
更改下列內容:
TENANT_ID:包含 Azure 帳戶的 Azure 目錄租戶 ID。LOCATION:標準 BigQuery 位置,而非 BigQuery Omni 位置。如需選取區域的指南,請參閱「區域建議」。APP_ID:Azure 應用程式 (用戶端) ID。PROJECT_ID: Google Cloud 專案的 ID。CONNECTION_ID:要指派給這項連線資源的 ID。
如要進一步瞭解 Azure 連線屬性,請參閱「AzureProperties」。
如要記下服務帳戶資訊,請使用
bq show指令:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
使用服務帳戶資訊新增聯合憑證,就像新增標準 BigQuery 連線一樣。
建立 Azure 跨雲端連線後,您現在可以建立資料表和資料集,查詢遠端資料。
Azure 範例
下列範例會建立外部資料表,透過跨雲端連線直接從 Azure Blob 儲存體容器查詢 Parquet 檔案:
CREATE SCHEMA `my-project.azure_raw_data` OPTIONS ( location = 'us-east4'); CREATE EXTERNAL TABLE `my-project.azure_raw_data.sales_parquet` WITH CONNECTION `us-east4.my-azure-connection` OPTIONS ( format = 'PARQUET', uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/sales/year=2025/*']);
下列範例會建立外部資料表,透過跨雲端連線查詢 Blob Storage 容器中的原始 CSV 匯出內容:
CREATE EXTERNAL TABLE `my-project.azure_raw_data.daily_logs_csv` WITH CONNECTION `us-east4.my-azure-connection` OPTIONS ( format = 'CSV', skip_leading_rows = 1, uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/logs/*.csv']);
建立 Data 360 跨雲端連線
如要建立 Data 360 跨雲端連結,請按照將 Data 360 資料集連結至 BigQuery 的步驟操作,但請在標準 BigQuery 位置建立連結的資料集,而非在 BigQuery Omni 位置建立。如需選取區域的指引,請參閱「區域建議」。
更新查詢以使用新資料集後,即可刪除任何舊版連結資料集和 BigQuery Omni materialized view。
區域建議
為跨雲端連線選取標準 BigQuery 區域時,請選擇與資料實際位置最接近的區域,以達到最佳成本和效能效益。
下表列出 AWS 區域和最適合的對應 BigQuery 區域:
| AWS 區域 | 最接近的 BigQuery 區域 | 其他鄰近的 BigQuery 區域 |
|---|---|---|
us-east-1 |
us-east4 |
us-east1us-east5us-central1
|
us-east-2 |
us-east5 |
us-east4us-east1us-central1
|
us-west-1 |
us-west2 |
us-west4us-west1us-west3
|
us-west-2 |
us-west1 |
us-west3us-west4us-west2
|
ca-central-1 |
northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
sa-east-1 |
southamerica-east1 |
southamerica-west1us-east1us-south1
|
eu-west-1 |
europe-west1 |
europe-west2europe-west9europe-west4
|
eu-west-2 |
europe-west2 |
europe-west1europe-west9europe-west4
|
eu-west-3 |
europe-west9 |
europe-west1europe-west2europe-west3
|
eu-central-1 |
europe-west3 |
europe-west4europe-west1europe-west6
|
eu-central-2 |
europe-west6 |
europe-west8europe-west12europe-west3
|
eu-north-1 |
europe-north1 |
europe-west4europe-central2europe-west1
|
eu-south-1 |
europe-west8 |
europe-west12europe-west6europe-west3
|
eu-south-2 |
europe-southwest1 |
europe-west9europe-west1europe-west8
|
me-central-1 |
me-central1 |
me-central2me-west1asia-south1
|
me-south-1 |
me-central2 |
me-central1me-west1asia-south1
|
af-south-1 |
europe-southwest1 |
me-central2me-west1europe-west1
|
ap-east-1 |
asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
ap-northeast-1 |
asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
ap-northeast-2 |
asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
ap-northeast-3 |
asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
ap-south-1 |
asia-south1 |
asia-south2me-central1asia-southeast1
|
ap-south-2 |
asia-south2 |
asia-south1asia-southeast1me-central1
|
ap-southeast-1 |
asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
ap-southeast-2 |
australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
ap-southeast-3 |
asia-southeast2 |
asia-southeast1australia-southeast1asia-east1
|
下表列出 Azure 區域和對應的最佳 BigQuery 區域:
| Azure 區域 | 最接近的 BigQuery 區域 | 其他鄰近的 BigQuery 區域 |
|---|---|---|
| 美國東部 | us-east4 |
us-east1us-east5us-central1
|
| East US 2 | us-east4 |
us-east1us-east5us-south1
|
| 美國西部 | us-west1 |
us-west2us-west3us-west4
|
| 美國西部 2 | us-west1 |
us-west4us-west3us-west2
|
| 美國西部 3 | us-west4 |
us-west2us-west3us-west1
|
| 美國中部 | us-central1 |
us-east5us-east4us-east1
|
| 美國中北部 | us-east5 |
us-central1us-east4us-east1
|
| 美國中南部 | us-south1 |
us-east5us-central1us-east1
|
| 美國中西部 | us-west3 |
us-central1us-west4us-west2
|
| 加拿大中部 | northamerica-northeast2 |
northamerica-northeast1us-east5us-east4
|
| 加拿大東部 | northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
| 西歐 | europe-west4 |
europe-west1europe-west3europe-west9
|
| 北歐 | europe-west1 |
europe-west2europe-west9europe-west4
|
| 法國中部 | europe-west9 |
europe-west1europe-west2europe-west3
|
| 法國南部 | europe-west9 |
europe-southwest1europe-west8europe-west1
|
| 德國中西部 | europe-west3 |
europe-west4europe-west1europe-west6
|
| 德國北部 | europe-west3 |
europe-west4europe-central2europe-west2
|
| 瑞士北部 | europe-west6 |
europe-west8europe-west12europe-west3
|
| 瑞士西部 | europe-west6 |
europe-west9europe-west8europe-west3
|
| 英國南部 | europe-west2 |
europe-west1europe-west9europe-west4
|
| 英國西部 | europe-west2 |
europe-west1europe-west9europe-west4
|
| 挪威東部 | europe-north1 |
europe-west4europe-central2europe-west1
|
| 挪威西部 | europe-north1 |
europe-west4europe-central2europe-west1
|
| 瑞典中部 | europe-north1 |
europe-west4europe-central2europe-west1
|
| 東亞 | asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
| 東南亞 | asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
| 日本東部 | asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
| 日本西部 | asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
| 韓國中部 | asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
| 澳洲東部 | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| 澳洲東南部 | australia-southeast2 |
australia-southeast1asia-southeast1asia-east1
|
| 澳洲中部 | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| 西印度 | asia-south1 |
asia-south2me-central1asia-southeast1
|
| 印度中部 | asia-south1 |
asia-south2me-central1asia-southeast1
|
| 印度南部 | asia-south1 |
asia-south2asia-southeast1me-central1
|
後續步驟
- 瞭解 BigQuery 數據分析。