Standardverbindung – Übersicht
Um Ihren Workflow zu vereinfachen, können Sie in BigQuery eine Standard-Cloud-Ressourcenverbindung für das Erstellen externer Tabellen und BigQuery ML-Remote-Modelle konfigurieren. Ein Administrator konfiguriert die Standardverbindung und Nutzer können dann beim Erstellen von Ressourcen darauf verweisen, anstatt Verbindungsdetails angeben zu müssen.
BigQuery unterstützt Standardverbindungen in den folgenden Ressourcen:
- BigLake-Tabellen in Cloud Storage
- Objekttabellen
- BigLake-Tabellen für Apache Iceberg in BigQuery
- Remote-Modelle
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 sind die folgenden IAM-Rollen (Identity and Access Management) erforderlich:
- 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 erteilen müssen, gehen Sie so vor:
- 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: IAM-Administrator des Projekts (
roles/resourcemanager.projectIamAdmin
) für das Projekt, das den Vertex AI-Endpunkt enthält. Für die folgenden Arten von Remote-Modellen ist dies das aktuelle Projekt:- Remote-Modelle über Cloud AI-Dienste
- Remote-Modelle über 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 Ihrem Vertex AI-Endpunkt befindet, müssen Sie auch die Rolle „Storage Admin“ (
roles/storage.admin
) für den Cloud Storage-Bucket haben, der von der Objekttabelle verwendet wird.
Sie benötigen diese Rollen nur, wenn Sie eine Verbindung als Standardverbindung konfigurieren oder ein Nutzer sind, der eine Standardverbindung verwendet, deren Dienstkonto noch nicht die entsprechende Rolle zugewiesen wurde. 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
- Erstellen Sie eine Verbindung:
bigquery.connections.*
- Legen Sie die Standardverbindung fest:
bigquery.config.*
- Legen Sie die Berechtigungen für das Dienstkonto 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 Remotemodell verwendet wird, das unstrukturierte Daten aus einer Objekttabelle verarbeitet, werden
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 dann als Standardverbindung fest.
Der Nutzer, der die Standardverbindung erstellt und konfiguriert, benötigt die Rolle „BigQuery-Administrator“ und gegebenenfalls die Rolle „Speicheradministrator“ oder „Projekt-IAM-Administrator“. Der Standardnutzer der Verbindung benötigt die Rolle „BigQuery-Verbindungsnutzer“.
Erstellen Sie eine Verbindung und legen Sie sie 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 Admin“. Der Standardnutzer der Verbindung benötigt die Rolle „BigQuery-Verbindungsnutzer“ und gegebenenfalls die Rolle „Speicheradministrator“ oder „IAM-Administrator des Projekts“.
Geben Sie das Keyword
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 Standardnutzer der Verbindung benötigt die Rolle „BigQuery-Administrator“ und gegebenenfalls die Rolle „Speicheradministrator“ oder „IAM-Administrator des Projekts“.
Standardverbindung für ein Projekt festlegen
Legen Sie die Standard-Cloud-Ressourcenverbindung 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 Verbindungsnamen an und schließen Sie die Projekt-ID und die Regionspräfixe aus, die mit dem Namen oder der ID verknüpft sind.
Weitere Informationen zum Konfigurieren einer Standardverbindung für ein Projekt finden Sie unter Standardkonfigurationen verwalten.
Berechtigungsbereitstellung für die Standardverbindung
Wenn Sie die Standardverbindung zum Erstellen einer externen Tabelle oder eines Remote-Modells verwenden,Google Cloud gewährt das Programm 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 Remote-Modell verwendet wird.
Dem Dienstkonto der Standardverbindung werden die folgenden Rollen zugewiesen:
Tabellen- oder Modelltyp | 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 |
BigLake-Iceberg-Tabellen in BigQuery | Cloud Storage | roles/storage.legacyBucketWriter roles/storage.legacyObjectOwner |
BigQuery ML-Remote-Modelle über Vertex AI-Modelle | Google-eigene Modelle | roles/aiplatform.user |
Aus Model Garden auf einem Endpunkt bereitstellbar | ||
Nutzermodelle | ||
Optimierte Modelle | roles/aiplatform.serviceAgent |
|
BigQuery ML-Remote-Modelle über Cloud AI-Dienste | Dokumentenprozessor | 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 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 ein 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 über 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')