Ü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:
- Die Klausel
WITH CONNECTIONeinerCREATE EXTERNAL TABLE-Anweisung - Die
REMOTE WITH CONNECTION-Klausel einerCREATE MODEL-Anweisung für ein Remotemodell
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.
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.
- 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 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.getIamPolicyundstorage.buckets.setIamPolicy - Berechtigungen für das Dienstkonto für eine Standardverbindung festlegen, die zum Erstellen von Remotemodellen verwendet wird:
resourcemanager.projects.getIamPolicyundresourcemanager.projects.setIamPolicy- Wenn die Standardverbindung mit einem Remotemodell verwendet wird, das
unstrukturierte Daten aus einer Objekttabelle verarbeitet:
storage.buckets.getIamPolicyundstorage.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
DEFAULTin 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.legacyBucketReaderroles/storage.legacyObjectReader |
| Objekttabelle | Cloud Storage | roles/storage.legacyBucketReaderroles/storage.legacyObjectReader |
| Verwaltete Iceberg-Tabellen | Cloud Storage | roles/storage.legacyBucketWriterroles/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
- Informationen zur Standardkonfiguration in BigQuery