BigQuery
Mit dem BigQuery-Connector können Sie Vorgänge zum Einfügen, Löschen, Aktualisieren und Lesen in Google BigQuery-Daten ausführen.
Hinweise
Führen Sie vor der Verwendung des BigQuery-Connectors die folgenden Aufgaben aus:
- In Ihrem Google Cloud-Projekt:
- Weisen Sie dem Nutzer die IAM-Rolle roles/connectors.admin zu. Connector konfigurieren.
- Weisen Sie dem Dienstkonto, das Sie für den Connector verwenden möchten, die folgenden IAM-Rollen zu:
roles/bigquery.dataEditor
Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs zu erhalten. Wenn Sie kein Dienstkonto haben, müssen Sie eins erstellen. Weitere Informationen finden Sie unter Dienstkonto erstellen.
- Aktivieren Sie die folgenden Dienste:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
Informationen zum Aktivieren von Diensten finden Sie unter Dienste aktivieren.
Wenn diese Dienste oder Berechtigungen für Ihr Projekt zuvor nicht aktiviert wurden, werden Sie aufgefordert, sie beim Konfigurieren des Connectors zu aktivieren.
Connector konfigurieren
Für die Konfiguration des Connectors müssen Sie eine Verbindung zu Ihrer Datenquelle (Backend-System) erstellen. Eine Verbindung ist für eine Datenquelle spezifisch. Wenn Sie also viele Datenquellen haben, müssen Sie für jede Datenquelle eine separate Verbindung erstellen. So erstellen Sie eine Verbindung:
- Rufen Sie in der Cloud Console die Seite Integration Connectors > Verbindungen auf und wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
- Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Tippen Sie auf Weiter.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
- Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
- Connector: Wählen Sie BigQuery aus der Drop-down-Liste der verfügbaren Connectors aus.
- Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.
Verbindungsnamen müssen die folgenden Kriterien erfüllen:
- Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
- Buchstaben müssen Kleinbuchstaben sein.
- Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
- Verbindungsnamen dürfen maximal 63 Zeichen haben.
- Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindungsinstanz ein.
- Aktivieren Sie optional Cloud Logging.
und wählen Sie dann eine Logebene aus. Standardmäßig ist die Logebene auf
Error
festgelegt. - Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
- Konfigurieren Sie optional die Einstellungen für den Verbindungsknoten:
- Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
- Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.
Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.
- Projekt-ID: Die ID des Google Cloud-Projekts, in dem sich die Daten befinden.
- Dataset-ID:: Die ID des BigQuery-Datasets.
- Proxy verwenden: Klicken Sie dieses Kästchen an, um einen Proxyserver für die Verbindung und konfigurieren Sie die folgenden Werte:
-
Proxy-Authentifizierungsschema: Wählen Sie den Authentifizierungstyp für die Authentifizierung beim Proxyserver aus. Die folgenden Authentifizierungstypen werden unterstützt:
- Standard: Basis-HTTP-Authentifizierung.
- Digest: Digest-HTTP-Authentifizierung.
- Proxy User: Ein Nutzername, der für die Authentifizierung beim Proxyserver verwendet werden soll.
- Proxy-Passwort: Das Secret Manager-Secret des Nutzerpassworts.
-
Proxy-SSL-Typ: Der SSL-Typ, der beim Herstellen einer Verbindung zum Proxyserver verwendet werden soll. Die folgenden Authentifizierungstypen werden unterstützt:
- Automatisch: Standardeinstellung. Wenn die URL eine HTTPS-URL ist, wird die Option „Tunnel“ verwendet. Wenn die URL eine HTTP-URL ist, wird die Option NEVER verwendet.
- Immer: Für die Verbindung ist immer SSL aktiviert.
- Nie: Die Verbindung ist nicht SSL-fähig.
- Tunnel: Die Verbindung erfolgt über einen Tunneling-Proxy. Der Proxyserver öffnet eine Verbindung zum Remote-Host und der Traffic fließt über den Proxy hin und her.
- Geben Sie im Abschnitt Proxyserver die Details zum Proxyserver ein.
- Klicken Sie auf + Ziel hinzufügen.
- Wählen Sie einen Zieltyp aus.
- Hostadresse: Geben Sie den Hostnamen oder die IP-Adresse des Ziels an.
Wenn Sie eine private Verbindung zu Ihrem Back-End-System herstellen möchten, gehen Sie so vor:
- Erstellen Sie einen PSC-Dienstanhang.
- Erstellen Sie einen Endpunktanhang und geben Sie dann die Details des Endpunktanhangs in das Feld Hostadresse ein.
- Hostadresse: Geben Sie den Hostnamen oder die IP-Adresse des Ziels an.
- Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Tippen Sie auf Weiter.
-
Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
- Für die BigQuery-Verbindung ist keine Authentifizierung erforderlich.
- Tippen Sie auf Weiter.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
Entitäten, Vorgänge und Aktionen
Alle Integration Connectors bieten eine Abstraktionsebene für die Objekte der verbundenen Anwendung. Sie können nur über diese Abstraktion auf die Objekte einer Anwendung zugreifen. Die Abstraktion wird Ihnen als Entitäten, Vorgänge und Aktionen zur Verfügung gestellt.
- Entität: Eine Entität kann als Objekt oder Sammlung von Attributen in der verbundenen Anwendung oder im verbundenen Dienst verstanden werden. Die Definition einer Entität unterscheidet sich von Connector zu Connector. Beispiel: In einem Datenbank-Connector sind Tabellen die Entitäten, in einem Dateiserver-Connector sind Ordner die Entitäten und in einem Nachrichtensystem-Connector sind Warteschlangen die Entitäten.
Es ist jedoch möglich, dass ein Connector keine Entitäten unterstützt oder keine Entitäten enthält. In diesem Fall ist die Liste
Entities
leer. - Vorgang: Ein Vorgang ist die Aktivität, die Sie für eine Entität ausführen können. Sie können einen der folgenden Vorgänge für eine Entität ausführen:
Durch Auswahl einer Entität aus der verfügbaren Liste wird eine Liste der Vorgänge generiert, die für die Entität verfügbar sind. Eine detaillierte Beschreibung der Vorgänge finden Sie in den Entitätsvorgängen der Connectors-Aufgabe. Unterstützt ein Connector jedoch keine Entitätsvorgänge, Vorgänge sind nicht in der
Operations
-Liste aufgeführt. - Aktion: Eine Aktion ist eine Funktion erster Klasse, die über die Connector-Benutzeroberfläche für die Integration verfügbar gemacht wird. Mit einer Aktion können Sie Änderungen an einer oder mehreren Entitäten vornehmen, die von Connector zu Connector unterschiedlich sind. Normalerweise hat eine Aktion
einige Eingabeparameter und eine Ausgabe
. Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die
Actions
-Liste leer.
Systembeschränkungen
Der BigQuery-Connector kann maximal acht Transaktionen pro Sekunde verarbeiten. pro Knoten und throttles beliebige Transaktionen über dieses Limit hinaus. Standardmäßig werden von Integration Connectors zwei Knoten (für eine bessere Verfügbarkeit) für eine Verbindung zugewiesen.
Informationen zu den Limits für Integration Connectors finden Sie unter Limits.
Unterstützte Datentypen
Die folgenden Datentypen werden für diesen Connector unterstützt:
- BIGINT
- BINARY
- BIT
- BOOLEAN
- CHAR
- DATE
- DECIMAL
- DOUBLE
- FLOAT
- INTEGER
- LONGN VARCHAR
- LANGER VARIANZZAHL
- NCHAR
- NUMERIC
- NVARCHAR
- REAL
- KLEIN INT
- UHRZEIT
- TIMESTAMP
- TINY INT
- VARBINARY
- VARCHAR
Bekannte Probleme
Der BigQuery-Connector unterstützt den Primärschlüssel in BigQuery-Tabelle nicht. Das bedeutet, dass Sie
Führen Sie die Entitätsvorgänge zum Abrufen, Aktualisieren und Löschen mithilfe eines entityId
aus.
Alternativ können Sie die Filterklausel verwenden, um Datensätze basierend auf einer ID zu filtern.
Aktionen
In diesem Abschnitt werden die im BigQuery-Connector verfügbaren Aktionen beschrieben.
Aktion "CancelJob" (Abbrechen)
Mit dieser Aktion können Sie einen laufenden BigQuery-Job abbrechen.
In der folgenden Tabelle werden die Eingabeparameter der Aktion CancelJob
beschrieben.
Parametername | Datentyp | Beschreibung |
---|---|---|
JobId | String | Die ID des Jobs, den Sie abbrechen möchten. Dies ist ein Pflichtfeld. |
Region | String | Die Region, in der der Job gerade ausgeführt wird. Dies ist nicht erforderlich, wenn sich der Job in den USA oder in der EU befindet. |
GetJob-Aktion
Mit dieser Aktion können Sie die Konfigurationsinformationen und den Ausführungsstatus eines vorhandenen Jobs abrufen.
In der folgenden Tabelle werden die Eingabeparameter der Aktion GetJob
beschrieben.
Parametername | Datentyp | Beschreibung |
---|---|---|
JobId | String | Die ID des Jobs, für den Sie die Konfiguration abrufen möchten. Dies ist ein Pflichtfeld. |
Region | String | Die Region, in der der Job gerade ausgeführt wird. Dies ist nicht erforderlich, wenn sich der Job in den USA oder in der EU befindet. |
Aktion "InsertJob"
Mit dieser Aktion können Sie einen BigQuery-Job einfügen, der später zum Abrufen der Abfrageergebnisse ausgewählt werden kann.
In der folgenden Tabelle werden die Eingabeparameter der Aktion InsertJob
beschrieben.
Parametername | Datentyp | Beschreibung |
---|---|---|
Abfrage | String | Die an BigQuery zu sendende Abfrage. Dies ist ein Pflichtfeld. |
IsDML | String | Sollte auf true gesetzt sein, wenn die Abfrage eine DML-Anweisung oder false ist
sonst. Der Standardwert ist false . |
DestinationTable | String | Die Zieltabelle für die Abfrage im Format DestProjectId:DestDatasetId.DestTable . |
WriteDisposition | String | Gibt an, wie Daten in die Zieltabelle geschrieben werden sollen, z. B. vorhandene Ergebnisse abschneiden, vorhandene Ergebnisse anhängen oder nur schreiben, wenn die Tabelle leer ist. Folgende werden unterstützt:
Werte:
|
DryRun | String | Gibt an, ob der Job ein Probelauf ist. |
MaximumBytesBilled | String | Gibt die maximale Anzahl der Byte an, die vom Job verarbeitet werden können. BigQuery bricht den Job ab, wenn versucht wird, mehr Byte als den angegebenen Wert zu verarbeiten. |
Region | String | Gibt die Region an, in der der Job ausgeführt werden soll. |
Aktion „InsertLoadJob“
Mit dieser Aktion können Sie einen BigQuery-Load-Job einfügen, der Daten aus Google Cloud Storage in eine vorhandene Tabelle einfügt.
In der folgenden Tabelle werden die Eingabeparameter der Aktion InsertLoadJob
beschrieben.
Parametername | Datentyp | Beschreibung |
---|---|---|
SourceURIs | String | Eine durch Leerzeichen getrennte Liste von Google Cloud Storage-URIs. |
SourceFormat | String | Das Quellformat der Dateien. Folgende Werte werden unterstützt:
|
DestinationTable | String | Die Zieltabelle für die Abfrage im Format DestProjectId.DestDatasetId.DestTable . |
DestinationTableProperties | String | Ein JSON-Objekt, das den Anzeigenamen, die Beschreibung und eine Liste der Labels für die Tabelle angibt. |
DestinationTableSchema | String | Eine JSON-Liste mit den Feldern, die zum Erstellen der Tabelle verwendet wurden. |
DestinationEncryptionConfiguration | String | Ein JSON-Objekt, das die KMS-Verschlüsselungseinstellungen für die Tabelle angibt. |
SchemaUpdateOptions | String | Eine JSON-Liste, die die Optionen angibt, die beim Aktualisieren des Zieltabellenschemas angewendet werden sollen. |
TimePartitioning | String | Ein JSON-Objekt, das den Partitionierungstyp und das Feld für die Zeit angibt. |
RangePartitioning | String | Ein JSON-Objekt, das das Feld für die Bereichspartitionierung und die Buckets angibt. |
Clustering | String | Ein JSON-Objekt, das die für das Clustering zu verwendenden Felder angibt. |
Automatisch erkennen | String | Gibt an, ob Optionen und Schema für JSON- und CSV-Dateien automatisch ermittelt werden sollen. |
CreateDisposition | String | Gibt an, ob die Zieltabelle erstellt werden muss, falls sie noch nicht vorhanden ist. Folgende Werte werden unterstützt:
|
WriteDisposition | String | Gibt an, wie Daten in die Zieltabelle geschrieben werden sollen, z. B. ob vorhandene Ergebnisse abgeschnitten, an vorhandene Ergebnisse angehängt oder nur geschrieben werden sollen, wenn die Tabelle leer ist. Nachfolgend sind die
unterstützte Werte:
|
Region | String | Gibt die Region an, in der der Job ausgeführt werden soll. Die Google Cloud Storage-Ressourcen und das BigQuery-Dataset müssen sich in derselben Region befinden. |
DryRun | String | Gibt an, ob der Job ein Probelauf ist. Der Standardwert ist false . |
MaximumBadRecords | String | Gibt die Anzahl der Datensätze an, die ungültig sein können, bevor der gesamte Job abgebrochen wird. Standardmäßig müssen alle Einträge gültig sein. Der Standardwert ist 0 . |
IgnoreUnknownValues | String | Gibt an, ob die unbekannten Felder in der Eingabedatei ignoriert oder als Fehler behandelt werden müssen. Standardmäßig werden sie als Fehler behandelt. Der Standardwert ist false . |
AvroUseLogicalTypes | String | Gibt an, ob logische AVRO-Typen zum Konvertieren von AVRO-Daten in BigQuery-Typen verwendet werden müssen. Standardeinstellung
Wert ist true . |
CSVSkipLeadingRows | String | Gibt an, wie viele Zeilen am Anfang von CSV-Dateien übersprungen werden sollen. Diese Option wird in der Regel verwendet, um Kopfzeilen zu überspringen. |
CSVEncoding | String | Codierungstyp der CSV-Dateien. Folgende Werte werden unterstützt:
|
CSVNullMarker | String | Wenn angegeben, wird dieser String für NULL-Werte in CSV-Dateien verwendet. Standardmäßig werden CSV-Dateien NULL-Werte nicht verwendet werden. |
CSVFieldDelimiter | String | Das Zeichen, das zum Trennen von Spalten in CSV-Dateien verwendet wird. Der Standardwert ist ein Komma (, ). |
CSVQuote | String | Das Zeichen, das für Felder in Anführungszeichen in CSV-Dateien verwendet wird. Kann leer sein, um Anführungszeichen zu deaktivieren. Der Standardwert ist ein doppeltes Anführungszeichen (" ). |
CSVAllowQuotedNewlines | String | Gibt an, ob die CSV-Dateien Zeilenumbrüche in Feldern in Anführungszeichen enthalten dürfen. Der Standardwert ist false . |
CSVAllowJaggedRows | String | Gibt an, ob die CSV-Dateien fehlende Felder enthalten können. Der Standardwert ist false . |
DSBackupProjectionFields | String | Eine JSON-Liste mit Feldern, die aus einem Cloud Datastore-Sicherungsarchiv geladen werden sollen. |
ParquetOptions | String | Ein JSON-Objekt, das die Parquet-spezifischen Importoptionen angibt. |
DecimalTargetTypes | String | Eine JSON-Liste mit der Präferenzreihenfolge, die auf numerische Typen angewendet wird. |
HivePartitioningOptions | String | Ein JSON-Objekt, das die quellseitigen Partitionierungsoptionen angibt. |
Benutzerdefinierte SQL-Abfrage ausführen
So erstellen Sie eine benutzerdefinierte Abfrage:
- Folgen Sie der detaillierten Anleitung zum Hinzufügen einer Connectors-Aufgabe.
- Wählen Sie beim Konfigurieren der Connector-Aufgabe als Typ der auszuführenden Aktion die Option Aktionen aus.
- Wählen Sie in der Liste Aktion die Option Benutzerdefinierte Abfrage ausführen aus und klicken Sie dann auf Fertig.
- Maximieren Sie den Bereich Task Input und führen Sie dann die folgenden Schritte aus:
- Geben Sie im Feld Zeitüberschreitung nach die Anzahl der Sekunden ein, die bis zur Ausführung der Abfrage gewartet werden soll.
Standardwert:
180
Sekunden. - Geben Sie im Feld Maximale Zeilenanzahl die maximale Anzahl von Zeilen ein, die von der Datenbank zurückgegeben werden sollen.
Standardwert:
25
. - Klicken Sie auf Benutzerdefiniertes Skript bearbeiten, um die benutzerdefinierte Abfrage zu aktualisieren. Das Dialogfeld Skripteditor wird geöffnet.
- Geben Sie im Dialogfeld Skripteditor die SQL-Abfrage ein und klicken Sie auf Speichern.
Sie können in einer SQL-Anweisung ein Fragezeichen (?) verwenden, um einen einzelnen Parameter darzustellen, der in der Liste der Abfrageparameter angegeben werden muss. Mit der folgenden SQL-Abfrage werden beispielsweise alle Zeilen aus der Tabelle
Employees
ausgewählt, die den in der SpalteLastName
angegebenen Werten entsprechen:SELECT * FROM Employees where LastName=?
- Wenn Sie in Ihrer SQL-Abfrage Fragezeichen verwendet haben, müssen Sie den Parameter hinzufügen, indem Sie bei jedem Fragezeichen auf + Parameternamen hinzufügen klicken. Beim Ausführen der Integration ersetzen diese Parameter die Fragezeichen (?) in der SQL-Abfrage nacheinander. Wenn Sie beispielsweise drei Fragezeichen (?) hinzugefügt haben, müssen Sie drei Parameter in der richtigen Reihenfolge hinzufügen.
So fügen Sie Abfrageparameter hinzu:
- Wählen Sie in der Liste Typ den Datentyp des Parameters aus.
- Geben Sie im Feld Wert den Wert des Parameters ein.
- Wenn Sie mehrere Parameter hinzufügen möchten, klicken Sie auf + Suchparameter hinzufügen.
- Geben Sie im Feld Zeitüberschreitung nach die Anzahl der Sekunden ein, die bis zur Ausführung der Abfrage gewartet werden soll.
Verbindungen mit Terraform erstellen
Mit dem Terraform-Code Ressource, um eine neue Verbindung zu erstellen.Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Eine Beispiel-Terraform-Vorlage zum Erstellen einer Verbindung finden Sie unter Beispielvorlage.
Wenn Sie diese Verbindung mit Terraform erstellen, müssen Sie die folgenden Variablen in Ihrer Terraform-Konfigurationsdatei festlegen:
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
project_id | STRING | Wahr | Die ID des Projekts, das das BigQuery-Dataset enthält. z.B. myproject. |
dataset_id | STRING | Falsch | Dataset-ID des BigQuery-Datasets ohne den Projektnamen. z.B. Ganz egal. |
proxy_enabled | BOOLEAN | Falsch | Klicken Sie dieses Kästchen an, um einen Proxyserver für die Verbindung zu konfigurieren. |
proxy_auth_scheme | ENUM | Falsch | Der für die Authentifizierung beim ProxyServer-Proxy zu verwendende Authentifizierungstyp. Unterstützte Werte: BASIC, DIGEST, NONE |
proxy_user | STRING | Falsch | Ein Nutzername, der für die Authentifizierung beim ProxyServer-Proxy verwendet werden soll. |
proxy_password | SECRET | Falsch | Ein Passwort, das zur Authentifizierung beim ProxyServer-Proxy verwendet werden soll. |
proxy_ssltype | ENUM | Falsch | Der SSL-Typ, der beim Herstellen einer Verbindung zum ProxyServer-Proxy verwendet werden soll. Unterstützte Werte sind: AUTO, ALWAYS, NEVER, TUNNEL |
BigQuery-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie in beiden Apigee-Integration und Anwendungsintegration Sie können die Verbindung über die Connectors-Aufgabe in einer Integration.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Apigee Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Tasks für Connectors.
Hilfe von der Google Cloud-Community erhalten
Sie können Ihre Fragen und Anregungen zu diesem Connector in der Google Cloud-Community unter Cloud-Foren posten.Nächste Schritte
- Informationen zum Anhalten und Fortsetzen einer Verbindung
- Informationen zum Überwachen der Connector-Nutzung
- Weitere Informationen zum Ansehen von Connector-Logs