Verbindung zu Cloud Spanner herstellen
Als BigQuery-Administrator können Sie eine Verbindung erstellen, um auf Cloud Spanner-Daten zuzugreifen. Über diese Verbindung können Datenanalysten Daten in Cloud Spanner abfragen.
Hinweis
- BigQuery Connection API aktivieren.
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „BigQuery-Verbindungsadministrator“ (
roles/bigquery.connectionAdmin
) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für eine Verbindung zu Spanner benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Spanner-Verbindungen erstellen
Wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie im Explorer-Bereich auf
Hinzufügen und wählen Sie dann Verbindungen zur externen Datenquelle aus.Geben Sie im Bereich Externe Datenquelle die folgenden Informationen ein:
- Wählen Sie als Verbindungstyp die Option Cloud Spanner aus.
- Geben Sie unter Verbindungs-ID eine Kennung für die Verbindungsressource ein. Buchstaben, Ziffern und Unterstriche sind zulässig.
- Wählen Sie unter Standorttyp einen BigQuery-Standort (oder eine Region) aus, der mit Ihrer externen Region für die Datenquellen kompatibel ist.
- Optional: Geben Sie unter Anzeigename einen nutzerfreundlichen Namen für die Verbindung ein, z. B.
My connection resource
. Der Anzeigename kann ein beliebiger Wert sein, mit dem Sie die Verbindungsressource identifizieren können, wenn Sie sie später ändern müssen. - Optional: Sie können unter Beschreibung eine Beschreibung für diese Verbindungsressource eingeben.
- Geben Sie unter Datenbankname den Namen der Spanner-Datenbank im folgenden Format ein:
"projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE"
- Optional: Wählen Sie Parallele Lesevorgänge lesen aus, um parallele Lesevorgänge durchzuführen. Spanner kann bestimmte Abfragen in kleinere Teile oder Partitionen aufteilen und die Partitionen parallel abrufen. Weitere Informationen finden Sie unter Daten parallel lesen in der Spanner-Dokumentation. Diese Option ist jedoch auf Abfragen beschränkt, deren erster Operator im Ausführungsplan der Operator Distributed Union ist. Andere Abfragen geben einen Fehler zurück. Informationen zum Abfrageausführungsplan für eine Spanner-Abfrage finden Sie unter Informationen zur Ausführung von Abfragen in Cloud Spanner.
- Optional: Geben Sie unter Datenbankrolle den Namen einer Spanner-Datenbankrolle ein. Wenn nicht leer, fragt diese Verbindung standardmäßig Spanner mithilfe dieser Datenbankrolle ab. Nutzer der fein abgestimmten Zugriffssteuerung, die Abfragen über diese Verbindung senden, müssen von ihrem Administrator Zugriff auf diese Rolle erhalten haben und die Datenbankrolle muss die
SELECT
-Berechtigung für alle Schemaobjekte haben, die in externen Abfragen angegeben sind. Informationen zur detaillierten Zugriffssteuerung finden Sie unter Detaillierte Zugriffssteuerung. - Optional: Wählen Sie Spanner Data Boost verwenden aus, um Data Boost zu aktivieren. Mit Data Boost können Sie Analyseabfragen und Datenexporte nahezu ohne Auswirkungen auf vorhandene Arbeitslasten auf der bereitgestellten BigQuery-Instanz ausführen. Wählen Sie Data Boost und Daten parallel lesen aus, um Data Boost zu aktivieren.
Klicken Sie auf Verbindung erstellen.
bq
Verwenden Sie zum Erstellen der Verbindung den Befehl bq mk
mit dem Flag --connection
.
bq mk --connection \ --connection_type=CLOUD_SPANNER \ --properties='PROPERTIES' \ --location=LOCATION \ --display_name='FRIENDLY_NAME' \ --description 'DESCRIPTION' \ CONNECTION_ID
Dabei gilt:
PROPERTIES
: Ein JSON-Objekt mit den folgenden Feldern:"database"
: Die Spanner-Datenbank für die Verbindung.Geben Sie einen String im folgenden Format an:
"projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE"
."use_parallelism"
: (Optional) Beitrue
führt diese Verbindung parallele Lesevorgänge aus.Der Standardwert ist
false
. Spanner kann bestimmte Abfragen in kleinere Teile oder Partitionen aufteilen und die Partitionen parallel abrufen. Weitere Informationen finden Sie unter Daten parallel lesen in der Spanner-Dokumentation. Diese Option ist jedoch auf Abfragen beschränkt, deren erster Operator im Ausführungsplan der Operator Distributed Union ist. Andere Abfragen geben einen Fehler zurück. Informationen zum Abfrageausführungsplan für eine Spanner-Abfrage finden Sie unter Informationen zur Ausführung von Abfragen in Cloud Spanner."database_role"
: (Optional) Wenn nicht leer, fragt diese Verbindung standardmäßig Spanner mithilfe dieser Datenbankrolle ab. Nutzer der fein abgestimmten Zugriffssteuerung, die Abfragen über diese Verbindung senden, müssen von ihrem Administrator Zugriff auf diese Rolle erhalten haben und die Datenbankrolle muss dieSELECT
-Berechtigung für alle Schemaobjekte haben, die in externen Abfragen angegeben sind.Wenn nicht angegeben, wird die Verbindung mit vordefinierten IAM-Rollen für Spanner authentifiziert und dem Hauptkonto, das Abfragen mit dieser Verbindung ausführt, muss die IAM-Rolle
roles/spanner.databaseReader
zugewiesen worden sein.Informationen zur detaillierten Zugriffssteuerung finden Sie unter Detaillierte Zugriffssteuerung.
"useDataBoost"
: (Optional) Wenntrue
, können Nutzer über diese Verbindung Data Boost verwenden. Mit Data Boost können Nutzer föderierte Abfragen in separater, unabhängiger Rechenkapazität ausführen, die von bereitgestellten Instanzen getrennt ist, um vorhandene Arbeitslasten nicht zu beeinträchtigen. Setzen Sie"useDataBoost"
auftrue
und"use_parallelism"
auftrue
, um Data Boost zu aktivieren.Damit Sie Data Boost verwenden können, muss dem Hauptkonto, das Abfragen mit dieser Verbindung ausführt, die Berechtigung
spanner.databases.useDataBoost
erteilt worden sein. Diese Berechtigung ist standardmäßig in den Rollenroles/spanner.admin
undroles/spanner.databaseAdmin
enthalten.
LOCATION
: Ein BigQuery-Standort, der mit Ihrer externen Datenquellenregion kompatibel ist.CONNECTION_ID
: Eine Kennzeichnung für die Verbindungsressource.Die Verbindungs-ID kann Buchstaben, Ziffern und Unterstriche enthalten. Wenn Sie keine Verbindungs-ID angeben, generiert BigQuery automatisch eine eindeutige ID.
Im folgenden Beispiel wird eine neue Verbindungsressource mit dem Namen
my_connection_id
erstellt.bq mk --connection \ --connection_type='CLOUD_SPANNER' \ --properties='{"database":"projects/my_project/instances/my_instance/databases/database1"}' \ --project_id=federation-test \ --location=us \ my_connection_id
API
Rufen Sie die Methode CreateConnection
im Dienst ConnectionService
auf.
Verbindungen für Nutzer freigeben
Sie können die folgenden Rollen zuweisen, damit Nutzer Daten abfragen und Verbindungen verwalten können:
roles/bigquery.connectionUser
: Nutzer können Verbindungen nutzen, um sich mit externen Datenquellen zu verbinden und diese abzufragen.roles/bigquery.connectionAdmin
: Nutzer können Verbindungen verwalten.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie die Seite BigQuery auf.
Verbindungen werden in Ihrem Projekt in einer Gruppe namens Externe Verbindungen aufgeführt.
Klicken Sie im Bereich Explorer auf Ihren Projektnamen > Externe Verbindungen > Verbindung.
Klicken Sie im Bereich Details auf Freigeben, um eine Verbindung freizugeben. Führen Sie anschließend folgende Schritte aus:
Geben Sie im Dialogfeld Verbindungsberechtigungen die Verbindung für andere Hauptkonten frei, indem Sie Hauptkonten hinzufügen oder bearbeiten.
Klicken Sie auf Speichern.
bq
Sie können keine Verbindung mit dem bq-Befehlszeilentool freigeben. Verwenden Sie zum Freigeben einer Verbindung die Google Cloud Console oder die Methode der BigQuery Connections API.
API
Verwenden Sie die Methode projects.locations.connections.setIAM
in dem Referenzabschnitt zur BigQuery Connections REST API und geben Sie eine Instanz der Ressource policy
an.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Nächste Schritte
- Weitere Informationen zu verschiedenen Verbindungstypen
- Verbindungen verwalten
- Föderierte Abfragen
- Spanner-Daten abfragen