默认连接概览

为简化工作流,您可以在 BigQuery 中配置默认的 Cloud 资源连接,以便创建表和模型。

BigQuery 支持在以下表和模型中使用默认连接:

管理员为项目配置默认的 Cloud 资源连接

如果您在项目中创建表和模型,则可以通过在以下 SQL 子句中指定 DEFAULT 来选择管理员配置的默认连接:

如果您不是管理员,则无法修改默认连接的权限或其他配置。默认连接会自动解析为项目配置中引用的现有连接,从而为该连接授予所需的权限和资源。

准备工作

Enable the BigQuery Connection API.

Enable the API

所需的角色和权限

如需了解在 BigQuery 中配置和使用默认连接所需的角色和权限,请参阅管理连接

使用 CONNECTION DEFAULT 时的权限配置

根据您使用默认连接创建的表或模型的类型,Google Cloud 会自动更新分配给该连接的服务账号的角色。系统会自动向用于连接这些表和模型的服务账号授予以下角色:

表或模型的类型 远程资源 分配给关联的服务账号的角色
Cloud Storage BigLake 表 Cloud Storage roles/storage.legacyBucketReader
roles/storage.legacyObjectReader
对象表 Cloud Storage roles/storage.legacyBucketReader
roles/storage.legacyObjectReader
适用于 Iceberg 的 BigQuery 表 Cloud Storage roles/storage.legacyBucketWriter
roles/storage.legacyObjectOwner
BigQuery ML 远程模型优于 Vertex AI 模型 Google 自有模型 roles/aiplatform.user
可从 Model Garden 部署到端点
用户模型
经过微调的模型 roles/aiplatform.serviceAgent
基于 Cloud AI 服务的 BigQuery ML 远程模型 文档处理器 roles/documentai.apiUser
语音识别器 roles/speech.serviceAgent
Cloud NLP roles/serviceusage.serviceUsageConsumer
Cloud Vision roles/serviceusage.serviceUsageConsumer
Cloud Translation roles/cloudtranslate.user

为项目配置默认连接

作为管理员,为项目配置默认的 Cloud 资源连接:

  • 如需创建和配置默认的 Cloud 资源连接,请使用 ALTER PROJECT SET OPTIONS DDL 语句

    以下示例为项目配置了默认连接:

    ALTER PROJECT PROJECT_ID
    SET OPTIONS (
    `region-REGION.default_cloud_resource_connection_id` = CONNECTION_ID);

    替换以下内容:

    • PROJECT_ID:您要设置默认连接的项目的 ID。
    • REGION:连接所在的区域。
    • CONNECTION_ID:要用作表和模型的默认连接的 ID 或名称。请仅指定连接 ID 或名称,并排除附加到名称或 ID 的项目 ID 和区域前缀。

如需详细了解如何为项目配置默认连接,请参阅管理默认配置

使用 CONNECTION DEFAULT 创建表格

以下示例展示了如何在 BigQuery 中创建指定 WITH CONNECTION DEFAULT 的表。

示例:创建 Cloud Storage BigLake 表

以下 SQL 表达式会使用默认连接创建 Cloud Storage BigLake 表

CREATE EXTERNAL TABLE PROJECT_ID.DATASET.EXTERNAL_TABLE_NAME
WITH CONNECTION DEFAULT
OPTIONS (
  format = 'TABLE_FORMAT',
  uris = ['BUCKET_PATH']);

示例:使用默认连接创建对象表

以下 SQL 表达式会使用默认连接创建对象表

CREATE EXTERNAL TABLE PROJECT_ID.DATASET.EXTERNAL_TABLE_NAME
WITH CONNECTION DEFAULT
OPTIONS (
  object_metadata = 'SIMPLE'
  uris = ['BUCKET_PATH']);

示例:使用默认连接为 Iceberg 创建 BigQuery 表

以下 SQL 表达式使用默认连接创建适用于 Iceberg 的 BigQuery 表

CREATE TABLE `myproject.tpch_clustered.nation` (
  n_nationkey integer,
  n_name string,
  n_regionkey integer,
  n_comment string)
CLUSTER BY n_nationkey
WITH CONNECTION DEFAULT
OPTIONS (
  file_format = 'PARQUET',
  table_format = 'ICEBERG',
  storage_uri = 'gs://mybucket/warehouse/nation');

使用 REMOTE WITH CONNECTION DEFAULT 创建模型

以下示例展示了如何在 BigQuery 中创建指定 REMOTE WITH CONNECTION DEFAULT 的模型。

示例:基于 Vertex AI 模型创建远程模型

以下 SQL 表达式会使用默认连接创建远程模型

CREATE OR REPLACE MODEL `mydataset.flash_model`
  REMOTE WITH CONNECTION DEFAULT
  OPTIONS(ENDPOINT = 'gemini-1.5-flash-001');

示例:基于 Cloud AI 服务创建远程模型

以下 SQL 表达式会使用默认连接创建远程模型服务

CREATE MODEL `project_id.mydataset.mymodel`
REMOTE WITH CONNECTION DEFAULT
 OPTIONS(REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1')

示例:使用 HTTPS 端点创建远程模型

以下 SQL 表达式会创建具有 HTTPS 端点的远程模型和默认连接:

CREATE MODEL `project_id.mydataset.mymodel`
 INPUT(f1 INT64, f2 FLOAT64, f3 STRING, f4 ARRAY)
 OUTPUT(out1 INT64, out2 INT64)
 REMOTE WITH CONNECTION DEFAULT
 OPTIONS(ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/endpoints/1234')

后续步骤