Standardverbindung – Übersicht
Um Ihren Workflow zu vereinfachen, können Sie in BigQuery eine Standard-Cloud-Ressourcenverbindung zum Erstellen externer Tabellen und BigQuery ML-Remote-Modelle konfigurieren. Ein Administrator konfiguriert die Standardverbindung. Nutzer können dann beim Erstellen von Ressourcen darauf verweisen, anstatt Verbindungsdetails angeben zu müssen.
BigQuery unterstützt Standardverbindungen in den folgenden Ressourcen:
- Cloud Storage-BigLake-Tabellen
- Objekttabellen
- BigLake-Tabellen für Apache Iceberg in BigQuery
- Remotemodelle
Wenn Sie die Standardverbindung verwenden möchten, geben Sie das Schlüsselwort DEFAULT
in den folgenden SQL-Klauseln an:
- Die
WITH CONNECTION
-Klausel einerCREATE EXTERNAL TABLE
-Anweisung - Die
REMOTE WITH CONNECTION
-Klausel einerCREATE MODEL
-Anweisung für ein Remote-Modell
Hinweise
Enable the BigQuery Connection API.
Erforderliche Rollen und Berechtigungen
Für die Arbeit mit Standardverbindungen benötigen Sie die folgenden IAM-Rollen (Identity and Access Management):
- Standardverbindung verwenden: BigQuery-Verbindungsnutzer (
roles/bigquery.connectionUser
) für Ihr Projekt - Standardverbindung festlegen: BigQuery-Administrator (
roles/bigquery.admin
) für Ihr Projekt So gewähren Sie Berechtigungen für das Dienstkonto einer Standardverbindung:
- 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 Remote-Modellen verwendet wird: Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin
) für das Projekt, das den Vertex AI-Endpunkt enthält. Bei den folgenden Arten von Remote-Modellen ist das aktuelle Projekt:- Remote-Modelle über Cloud AI-Dienste.
- Remote-Modelle für Google- oder Partnermodelle, die Sie erstellt haben, indem Sie den Modellnamen als Endpunkt angegeben haben.
Bei allen anderen Remote-Modellen ist dies das Projekt, das den Vertex AI-Endpunkt enthält, auf dem das Zielmodell bereitgestellt wird.
Wenn Sie das Remote-Modell zum Analysieren unstrukturierter Daten aus einer Objekttabelle verwenden und sich der Cloud Storage-Bucket, den Sie in der Objekttabelle verwenden, in einem anderen Projekt als Ihr Vertex AI-Endpunkt befindet, benötigen Sie auch die Rolle „Storage Admin“ (
roles/storage.admin
) für den Cloud Storage-Bucket, der von der Objekttabelle verwendet wird.
Sie benötigen diese Rollen nur, wenn Sie als Administrator eine Verbindung für die Verwendung als Standardverbindung konfigurieren oder wenn Sie als Nutzer eine Standardverbindung verwenden, deren Dienstkonto noch nicht die entsprechende Rolle erhalten hat. Weitere Informationen finden Sie unter Standardverbindung konfigurieren.
- Wenn die Standardverbindung zum Erstellen externer Tabellen verwendet wird: Storage-Administrator (
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 herstellen:
bigquery.connections.*
- Standardverbindung festlegen:
bigquery.config.*
- Legen Sie Dienstkontoberechtigungen für eine Standardverbindung fest, die zum Erstellen externer Tabellen verwendet wird:
storage.buckets.getIamPolicy
undstorage.buckets.setIamPolicy
. - Legen Sie die Berechtigungen für das Dienstkonto für eine Standardverbindung fest, die zum Erstellen von Remote-Modellen verwendet wird:
resourcemanager.projects.getIamPolicy
undresourcemanager.projects.setIamPolicy
- Wenn die Standardverbindung mit einem Remote-Modell verwendet wird, das unstrukturierte Daten aus einer Objekttabelle verarbeitet,
storage.buckets.getIamPolicy
undstorage.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, weisen Sie dem Dienstkonto der Verbindung die entsprechenden Rollen zu und legen Sie die Verbindung 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 Standardverbindungsnutzer benötigt die Rolle „BigQuery Connection User“.
Erstellen Sie eine Verbindung und legen Sie sie dann als Standardverbindung fest. Der Dienst weist dem Dienstkonto der Standardverbindung die entsprechenden Rollen zu, wenn die Standardverbindung verwendet wird.
Der Nutzer, der die Standardverbindung erstellt und festlegt, benötigt die Rolle „BigQuery-Administrator“. Der Standardverbindungsnutzer benötigt die Rolle „BigQuery Connection User“ und je nach Bedarf die Rolle „Storage-Administrator“ oder „Project IAM Admin“.
Geben Sie das Keyword
DEFAULT
in einer unterstützten Anweisung an. Der Dienst stellt eine Verbindung her, gewährt dem Dienstkonto der Verbindung die entsprechenden Rollen und legt die Verbindung dann als Standardverbindung fest.Der Standardverbindungsnutzer benötigt die Rolle „BigQuery-Administrator“ und je nach Bedarf die Rolle „Storage-Administrator“ oder „Projekt-IAM-Administrator“.
Standardverbindung für ein Projekt festlegen
Legen Sie die Standardverbindung für Cloud-Ressourcen für das Projekt mit der DDL-Anweisung ALTER PROJECT SET OPTIONS
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 zum Erstellen einer externen Tabelle oder eines Remote-Modells verwenden, weistTrusted Cloud by S3NS dem Dienstkonto der Standardverbindung die entsprechenden Rollen zu, sofern 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 Remote-Modell verwendet wird.
Dem Dienstkonto der Standardverbindung werden die folgenden Rollen zugewiesen:
Art der Tabelle oder des Modells | Remote-Ressource | Rollen, die dem Dienstkonto der Verbindung zugewiesen sind |
---|---|---|
Cloud Storage-BigLake-Tabelle | Cloud Storage | roles/storage.legacyBucketReader roles/storage.legacyObjectReader |
Objekttabelle | Cloud Storage | roles/storage.legacyBucketReader roles/storage.legacyObjectReader |
BigLake-Iceberg-Tabellen in BigQuery | Cloud Storage | roles/storage.legacyBucketWriter roles/storage.legacyObjectOwner |
BigQuery ML-Remote-Modelle für Vertex AI-Modelle | Google-eigene Modelle | roles/aiplatform.user |
Über Model Garden auf einem Endpunkt bereitstellbar | ||
Nutzermodelle | ||
Abgestimmte 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
In den folgenden Beispielen wird gezeigt, wie Sie externe Tabellen erstellen, indem Sie WITH CONNECTION DEFAULT
in BigQuery angeben.
Beispiel: BigLake-Tabelle in Cloud Storage erstellen
Mit dem folgenden SQL-Ausdruck wird eine Cloud Storage-BigLake-Tabelle 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 Standardverbindung erstellt:
CREATE EXTERNAL TABLE PROJECT_ID.DATASET.EXTERNAL_TABLE_NAME
WITH CONNECTION DEFAULT
OPTIONS (
object_metadata = 'SIMPLE'
uris = ['BUCKET_PATH']);
Beispiel: BigLake Iceberg-Tabellen in BigQuery mit einer Standardverbindung erstellen
Mit dem folgenden SQL-Ausdruck werden BigLake Iceberg-Tabellen in BigQuery 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');
Remote-Modelle mit REMOTE WITH CONNECTION DEFAULT
erstellen
In den folgenden Beispielen wird gezeigt, wie Sie Remote-Modelle erstellen, indem Sie REMOTE WITH CONNECTION DEFAULT
in BigQuery angeben.
Beispiel: Remote-Modell über einem Vertex AI-Modell erstellen
Mit dem folgenden SQL-Ausdruck wird ein Remote-Modell mit einer Standardverbindung erstellt:
CREATE OR REPLACE MODEL `mydataset.flash_model`
REMOTE WITH CONNECTION DEFAULT
OPTIONS(ENDPOINT = 'gemini-2.0-flash');
Beispiel: Remote-Modell über einen Cloud AI-Dienst erstellen
Mit dem folgenden SQL-Ausdruck wird ein Remote-Modell für einen 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: Remote-Modell mit einem HTTPS-Endpunkt erstellen
Mit dem folgenden SQL-Ausdruck wird ein Remote-Modell 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')