Übersicht über die Standardverbindung

Um Ihren Workflow zu vereinfachen, können Sie in BigQuery eine Standardverbindung zu einer Cloud-Ressource konfigurieren, um externe Tabellen und BigQuery ML-Remotemodelle zu erstellen. Ein Administrator konfiguriert die Standardverbindung. Nutzer können dann beim Erstellen von Ressourcen darauf verweisen, ohne Verbindungsdetails angeben zu müssen.

BigQuery unterstützt Standardverbindungen in den folgenden Ressourcen:

Geben Sie das Schlüsselwort DEFAULT in den folgenden SQL-Klauseln an, um die Standardverbindung zu verwenden:

Hinweis

BigQuery Connection API aktivieren.

Rollen, die zum Aktivieren von APIs erforderlich sind

Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Informationen zum Zuweisen von Rollen.

API aktivieren

Erforderliche Rollen und Berechtigungen

Verwenden Sie die folgenden IAM-Rollen (Identity and Access Management), um mit Standardverbindungen zu arbeiten:

  • Standardverbindung verwenden: BigQuery-Verbindungsnutzer (roles/bigquery.connectionUser) für Ihr Projekt
  • Standardverbindung festlegen: BigQuery-Administrator (roles/bigquery.admin) für Ihr Projekt
  • Wenn Sie dem Dienstkonto einer Standardverbindung Berechtigungen gewähren müssen:

    • Wenn die Standardverbindung zum Erstellen externer Tabellen verwendet wird: Storage-Administrator (roles/storage.admin) für alle Cloud Storage-Buckets, die von den externen Tabellen verwendet werden.
    • Wenn die Standardverbindung zum Erstellen von Remotemodellen verwendet wird: Projekt-IAM-Administrator (roles/resourcemanager.projectIamAdmin) für das Projekt, das den Vertex AI-Endpunkt enthält. Für die folgenden Arten von Remotemodellen ist dies das aktuelle Projekt:

      • Remotemodelle über Cloud AI-Dienste
      • Remotemodelle über Google- oder Partnermodelle, die Sie durch Angabe des Modellnamens als Endpunkt erstellt haben

      Für alle anderen Remotemodelle ist dies das Projekt, das den Vertex AI-Endpunkt enthält, auf dem das Zielmodell bereitgestellt wird.

      Wenn Sie das Remotemodell verwenden, um unstrukturierte Daten aus einer Objekttabelle zu analysieren, und sich der Cloud Storage-Bucket, den Sie in der Objekttabelle verwenden, in einem anderen Projekt als Ihrem Vertex AI-Endpunkt befindet, benötigen Sie außerdem die Rolle „Storage-Administrator“ (roles/storage.admin) für den Cloud Storage-Bucket, der von der Objekttabelle verwendet wird.

    Sie benötigen diese Rollen nur, wenn Sie ein Administrator sind, der eine Verbindung für die Verwendung als Standardverbindung konfiguriert, oder ein Nutzer, der eine Standardverbindung verwendet, deren Dienstkonto noch nicht die entsprechende Rolle erhalten hat. Weitere Informationen finden Sie unter Standardverbindung konfigurieren.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen der Aufgaben in diesem Dokument erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

  • Standardverbindung verwenden: bigquery.connections.use
  • Verbindung erstellen: bigquery.connections.*
  • Standardverbindung festlegen: bigquery.config.*
  • Berechtigungen für das Dienstkonto für eine Standardverbindung festlegen, die zum Erstellen externer Tabellen verwendet wird: storage.buckets.getIamPolicy und storage.buckets.setIamPolicy
  • Berechtigungen für das Dienstkonto für eine Standardverbindung festlegen, die zum Erstellen von Remotemodellen verwendet wird:
    • resourcemanager.projects.getIamPolicy und resourcemanager.projects.setIamPolicy
    • Wenn die Standardverbindung mit einem Remotemodell verwendet wird, das unstrukturierte Daten aus einer Objekttabelle verarbeitet: storage.buckets.getIamPolicy und storage.buckets.setIamPolicy

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Standardverbindung konfigurieren

Verwenden Sie eine der folgenden Methoden, um die Standardverbindung zum ersten Mal zu konfigurieren:

  • Erstellen Sie eine Verbindung, gewähren Sie dem Dienstkonto der Verbindung die entsprechenden Rollen und legen Sie die Verbindung dann als Standardverbindung fest.

    Der Nutzer, der die Standardverbindung erstellt und konfiguriert, benötigt die Rolle „BigQuery-Administrator“ und je nach Bedarf die Rolle „Storage-Administrator“ oder „Projekt-IAM-Administrator“. Der Nutzer der Standardverbindung benötigt die Rolle „BigQuery-Verbindungsnutzer“.

  • Erstellen Sie eine Verbindung und legen Sie sie dann als Standardverbindung fest. Der Dienst gewährt dem Dienstkonto der Standardverbindung die entsprechenden Rollen, wenn die Standardverbindung verwendet wird.

    Der Nutzer, der die Standardverbindung erstellt und festlegt, benötigt die Rolle „BigQuery-Administrator“. Der Nutzer der Standardverbindung benötigt die Rolle „BigQuery-Verbindungsnutzer“ und je nach Bedarf die Rolle „Storage-Administrator“ oder „Projekt-IAM-Administrator“.

  • Geben Sie das Schlüsselwort DEFAULT in einer unterstützten Anweisung an. Der Dienst erstellt eine Verbindung, gewährt dem Dienstkonto der Verbindung die entsprechenden Rollen und legt die Verbindung dann als Standardverbindung fest.

    Der Nutzer der Standardverbindung benötigt die Rolle „BigQuery-Administrator“ und je nach Bedarf die Rolle „Storage-Administrator“ oder „Projekt-IAM-Administrator“.

  • Wenn die Standardverbindung fehlt, erstellt BigQuery eine neue Verbindung mit den folgenden Eigenschaften:

    • Region:Dieselbe Region wie das Dataset.
    • Name:__default_cloudresource_connection__
    • Typ:CLOUD_RESOURCE

Standardverbindung für ein Projekt festlegen

Legen Sie die Standard-Cloud-Ressourcenverbindung für das Projekt mit der ALTER PROJECT SET OPTIONS DDL-Anweisung fest.

Im folgenden Beispiel wird die Standardverbindung für das Projekt festgelegt:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem Sie die Standardverbindung festlegen.
  • REGION: die Region der Verbindung.
  • CONNECTION_ID: die ID oder der Name der Verbindung, die als Standard für Tabellen und Modelle verwendet werden soll. Geben Sie nur die Verbindungs-ID oder den Namen an und schließen Sie die Präfixe für Projekt-ID und Region aus, die an den Namen oder die ID angehängt sind.

Weitere Informationen zum Konfigurieren einer Standardverbindung für ein Projekt finden Sie unter Standardkonfigurationen verwalten.

Berechtigungen für die Standardverbindung bereitstellen

Wenn Sie die Standardverbindung verwenden, um eine externe Tabelle oder ein Remotemodell zu erstellen, Google Cloud gewährt dem Dienstkonto der Standardverbindung die entsprechenden Rollen, falls das Dienstkonto diese noch nicht hat. Diese Aktion schlägt fehl, wenn Sie keine Administratorberechtigungen für die Cloud Storage- oder Vertex AI-Ressource haben, die von der externen Tabelle oder dem Remotemodell verwendet wird.

Dem Dienstkonto der Standardverbindung werden die folgenden Rollen gewährt:

Art der Tabelle oder des Modells Remote-Ressource Rollen, die dem Dienstkonto der Verbindung zugewiesen sind
BigLake-Tabelle in Cloud Storage Cloud Storage roles/storage.legacyBucketReader
roles/storage.legacyObjectReader
Objekttabelle Cloud Storage roles/storage.legacyBucketReader
roles/storage.legacyObjectReader
Verwaltete Iceberg-Tabellen Cloud Storage roles/storage.legacyBucketWriter
roles/storage.legacyObjectOwner
BigQuery ML-Remotemodelle über Vertex AI-Modelle Google-eigene Modelle roles/aiplatform.user
Über Model Garden auf einem Endpunkt bereitstellbar
Nutzermodelle
Feinabgestimmte Modelle roles/aiplatform.serviceAgent
BigQuery ML-Remotemodelle über Cloud AI-Dienste Dokumentprozessor roles/documentai.apiUser
Spracherkennung roles/speech.serviceAgent
Cloud NLP roles/serviceusage.serviceUsageConsumer
Cloud Vision roles/serviceusage.serviceUsageConsumer
Cloud Translation roles/cloudtranslate.user

Externe Tabellen mit CONNECTION DEFAULT erstellen

Die folgenden Beispiele zeigen, wie Sie externe Tabellen erstellen, indem Sie in BigQuery WITH CONNECTION DEFAULT angeben.

Beispiel: BigLake-Tabelle in Cloud Storage erstellen

Mit dem folgenden SQL-Ausdruck wird eine BigLake-Tabelle in Cloud Storage mit einer Standardverbindung erstellt:

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

Beispiel: Objekttabelle mit einer Standardverbindung erstellen

Mit dem folgenden SQL-Ausdruck wird eine Objekttabelle mit einer Standard verbindung erstellt:

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

Beispiel: Verwaltete Iceberg-Tabellen mit einer Standardverbindung erstellen

Mit dem folgenden SQL-Ausdruck werden verwaltete Iceberg-Tabellen mit einer Standardverbindung erstellt:

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

Remotemodelle mit REMOTE WITH CONNECTION DEFAULT erstellen

Die folgenden Beispiele zeigen, wie Sie Remotemodelle erstellen, indem Sie in BigQuery REMOTE WITH CONNECTION DEFAULT angeben.

Beispiel: Remotemodell über einem Vertex AI-Modell erstellen

Mit dem folgenden SQL-Ausdruck wird ein Remotemodell mit einer Standardverbindung erstellt:

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

Beispiel: Remotemodell über einem Cloud AI-Dienst erstellen

Mit dem folgenden SQL-Ausdruck wird ein Remotemodell über einem Cloud AI-Dienst mit einer Standardverbindung erstellt:

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

Beispiel: Remotemodell mit einem HTTPS-Endpunkt erstellen

Mit dem folgenden SQL-Ausdruck wird ein Remotemodell mit einem HTTPS-Endpunkt und einer Standardverbindung erstellt:

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

Nächste Schritte