デフォルトの接続の概要

ワークフローを簡素化するために、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
Vertex AI モデルを介した BigQuery ML リモートモデル 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 式は、デフォルトの接続を使用してリモートモデル SERVICE を作成します。

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')

次のステップ