Informationen zu den unterstützten Connectors für Application Integration.
Daten einer Aufgabe des Typs „Für alle parallel” in BigQuery einfügen
In dieser Anleitung erstellen Sie eine Application Integration und eine Unterintegration zur Verarbeitung einer Reihe von Datensätzen. Für jeden Datensatz ruft die Hauptintegration asynchron die Unterintegration auf. Dabei werden die Daten für jeden Datensatz als Zeile in eine Tabelle in ein BigQuery-Dataset eingefügt.
Aufgaben in dieser Anleitung:
- BigQuery-Verbindung einrichten
- Teilintegration einrichten
- Hauptintegration einrichten
- Integration testen
Hinweise
- Sorgen Sie dafür, dass Sie Zugriff auf Application Integration haben.
-
Führen Sie in Ihrem Google Cloud-Projekt folgende Schritte aus:
- Weisen Sie dem Dienstkonto, das Sie zum Erstellen der Verbindung verwenden möchten, die folgenden Rollen zu:
roles/bigquery.dataEditor
roles/bigquery.readSessionUser
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
- Aktivieren Sie die folgenden Dienste:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
Wenn diese Dienste für Ihr Projekt noch nicht aktiviert wurden, werden Sie beim Erstellen der Verbindung auf der Seite „Verbindung erstellen“ dazu aufgefordert.
- Weisen Sie dem Dienstkonto, das Sie zum Erstellen der Verbindung verwenden möchten, die folgenden Rollen zu:
BigQuery-Verbindung einrichten
Erstellen Sie zuerst das BigQuery-Dataset und die Tabelle für diese Anleitung. Nachdem Sie das Dataset und die Tabelle erstellt haben, erstellen Sie eine BigQuery-Verbindung. Sie verwenden diese Verbindung später in dieser Anleitung in einer Integration.
BigQuery-Dataset und -Tabelle einrichten
Führen Sie die folgenden Schritte aus, um das BigQuery-Dataset und die BigQuery-Tabelle einzurichten:
- Wählen Sie in der Cloud Console Ihr Google Cloud-Projekt aus.
- Klicken Sie zum Starten einer Cloud Shell-Sitzung über die Google Cloud Console auf das Symbol Cloud Shell aktivieren in der Cloud Console. Dadurch wird im unteren Bereich der Google Cloud Console eine Sitzung gestartet.
-
Geben Sie die folgenden Befehle in Ihr Cloud Shell-Terminal ein, um BigQuery APIs zu aktivieren:
Ersetzen Sie in diesem Befehl Folgendes:export PROJECT_ID=project_id export REGION=region gcloud services enable --project "${PROJECT_ID}" \ bigquery.googleapis.com \ bigquerystorage.googleapis.com
project_id
durch die Projekt-ID Ihres Google Cloud-Projekts.region
durch die Region, in der Sie das BigQuery-Dataset erstellen möchten.
- Geben Sie den folgenden Befehl in Ihr Cloud Shell-Terminal ein, um ein BigQuery-Dataset mit dem Namen
bq_tutorial
zu erstellen:bq --project_id ${PROJECT_ID} --location ${REGION} mk bq_tutorial
- Geben Sie den folgenden Befehl in Ihr Cloud Shell-Terminal ein, um eine BigQuery-Tabelle mit dem Namen
tutorial
zu erstellen:bq --project_id ${PROJECT_ID} \ query \ --nouse_legacy_sql \ 'create table bq_tutorial.tutorial ( unique_key STRING NOT NULL, created_date STRING, closed_date STRING, agency STRING, agency_name STRING, complaint_type STRING, descriptor STRING, location_type STRING, incident_zip STRING, incident_address STRING, street_name STRING, cross_street_1 STRING, cross_street_2 STRING, intersection_street_1 STRING, intersection_street_2 STRING, address_type STRING, city STRING, landmark STRING, facility_type STRING, status STRING, due_date STRING, resolution_action_updated_date STRING, community_board STRING, borough STRING, x_coordinate_state_plane STRING, y_coordinate_state_plane STRING, park_facility_name STRING, park_borough STRING, school_name STRING, school_number STRING, school_region STRING, school_code STRING, school_phone_number STRING, school_address STRING, school_city STRING, school_state STRING, school_zip STRING, school_not_found STRING, school_or_citywide_complaint STRING, vehicle_type STRING, taxi_company_borough STRING, taxi_pick_up_location STRING, bridge_highway_name STRING, bridge_highway_direction STRING, bridge_highway_segment STRING, road_ramp STRING, garage_lot_name STRING, ferry_direction STRING, ferry_terminal_name STRING, latitude STRING, longitude STRING, location STRING ) '
-
Prüfen Sie, ob die BigQuery-Tabelle erstellt wurde.
- Klicken Sie auf der Seite Cloud Console auf das Navigationsmenü .
- Klicken Sie im Abschnitt Analytics auf BigQuery.
-
Erweitern Sie Ihr Projekt und prüfen Sie, ob das Dataset
bq_tutorial
aufgeführt ist. -
Erweitern Sie das Dataset bq_tutorial und prüfen Sie, ob die Tabelle
tutorial
aufgeführt ist. - Klicken Sie auf die Dokumenttabelle, um das Schema aufzurufen.
BigQuery-Verbindung erstellen
Als Nächstes erstellen Sie eine BigQuery-Verbindung. Mit dem BigQuery-Connector können Sie Zeilen in eine BigQuery-Tabelle einfügen, lesen, aktualisieren und löschen und die resultierende Ausgabe in einer Integration verwenden. Nachdem Sie die BigQuery-Verbindung erstellt haben, verwenden Sie diese Verbindung später in dieser Anleitung in einer Integration, um der BigQuery-Tabelle Zeilen hinzuzufügen.
Führen Sie die folgenden Schritte aus, um eine BigQuery-Verbindung zu erstellen:
- Wählen Sie in der Cloud Console Ihr Google Cloud-Projekt aus.
- Öffnen Sie die Seite „Verbindungen“ .
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
- Konfigurieren Sie die Verbindung:
- Führen Sie im Abschnitt Create Connection (Verbindung erstellen) die folgenden Schritte aus:
- Connector: Wählen Sie BigQuery aus der Drop-down-Liste der verfügbaren Connectors aus.
- Connector-Version: Wählen Sie die neueste Connector-Version aus der Drop-down-Liste mit verfügbaren Versionen aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein. Geben Sie für diese Anleitung connector-bq-tutorial ein.
- Fügen Sie optional eine Beschreibung der Verbindungsinstanz hinzu.
- Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
- Projekt-ID: Geben Sie die ID des Google Cloud-Projekts ein, in dem sich die Daten befinden.
- Dataset-ID: Geben Sie die ID des BigQuery-Datasets ein, das Sie verwenden möchten. Geben Sie für diese Anleitung bq_tutorial ein.
- Klicken Sie optional auf + LABEL HINZUFÜGEN, um ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Klicken Sie auf Next (Weiter).
- Standort: Wählen Sie eine Region aus, in der die Verbindung ausgeführt werden soll. Unterstützte Regionen für Connectors:
- Klicken Sie auf Next (Weiter).
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Authentifizierung: Die BigQuery-Verbindung erfordert keine Authentifizierungskonfiguration. Klicken Sie auf Next.
- Überprüfung: Prüfen Sie die Konfigurationsdetails Ihrer Verbindung. In diesem Abschnitt werden die Verbindungsdetails und Authentifizierungsdetails der neuen Verbindung zur Überprüfung angezeigt.
- Führen Sie im Abschnitt Create Connection (Verbindung erstellen) die folgenden Schritte aus:
- Klicken Sie auf Erstellen.
Subintegration einrichten
In dieser Anleitung verwendet die Unterintegration jeden Eintrag, der von der Hauptintegration an sie gesendet wird, und fügt ihn als Zeile in die Tabelle tutorial
im Dataset bq_tutorial
ein.
Unterintegration erstellen
So erstellen Sie die Teilintegration:
- Rufen Sie in der Google Cloud Console die Seite Anwendungsintegration auf.
- Klicken Sie im Navigationsmenü auf Integrations (Integrationen). Die Seite Integrations List (Integrationsliste) wird angezeigt.
- Klicken Sie auf Integration erstellen.
- Führen Sie im Dialogfeld Integration erstellen die folgenden Aufgaben aus:
- Geben Sie einen Namen ein, z. B. Process-each-record
- Geben Sie optional unter Beschreibung eine Beschreibung ein. Geben Sie beispielsweise API Trigger to process each record (sub-integration) ein.
- Wählen Sie die Region aus, in der Sie die Integration erstellen möchten.
- Klicken Sie auf Erstellen, um den Integrationseditor zu öffnen.
API-Trigger hinzufügen
So fügen Sie der Integration einen API-Trigger hinzu:
- Wählen Sie im Integrationseditor Aufgabe/Trigger hinzufügen > Trigger aus, um eine Liste der verfügbaren Trigger aufzurufen.
- Ziehen Sie das Element API-Trigger in den Integrationseditor.
Aufgabe „Datenabgleich“ hinzufügen
Führen Sie die folgenden Schritte aus, um der Integration eine Datenzuordnungsaufgabe hinzuzufügen:
- Wählen Sie im Integrationseditor Aufgabe/Trigger hinzufügen > Aufgaben aus, um die Liste der verfügbaren Aufgaben aufzurufen.
- Ziehen Sie das Element Datenabgleich in den Integrationseditor.
BigQuery-Verbindung konfigurieren
Jetzt können Sie die BigQuery-Verbindung verwenden, die Sie zuvor bei der Teilintegration erstellt haben. Führen Sie die folgenden Schritte aus, um die BigQuery-Verbindung in dieser Integration zu konfigurieren:
- Wählen Sie im Integrationseditor Aufgabe/Trigger hinzufügen > Aufgaben aus, um die Liste der verfügbaren Aufgaben aufzurufen.
- Ziehen Sie das Element Connectors in den Integrationseditor.
- Klicken Sie auf das Connectors-Aufgabenelement im Designer, um den Konfigurationsbereich der Aufgabe aufzurufen.
- Klicken Sie im rechten Bereich auf das Bearbeitungssymbol und ändern Sie das Label in Zeile in BigQuery einfügen.
- Klicken Sie auf Aufgabe konfigurieren.
Das Dialogfeld Connector-Aufgabe konfigurieren wird angezeigt.
- Führen Sie im Dialogfeld Connector-Task konfigurieren die folgenden Schritte aus:
- Wählen Sie die Verbindungsregion aus, in der Sie die BigQuery-Verbindung erstellt haben.
- Wählen Sie die BigQuery-Verbindung aus, die Sie verwenden möchten. Wählen Sie für diese Anleitung connector-bq-tutorial aus.
- Wenn eine Verbindung ausgewählt ist, wird die Spalte Typ angezeigt. Wählen Sie Entitäten und dann Anleitung aus der Liste der verfügbaren Entitäten aus.
- Sobald ein Typ ausgewählt ist, wird die Spalte Vorgang angezeigt. Wählen Sie Erstellen aus.
- Klicken Sie auf Fertig, um die Verbindungskonfiguration abzuschließen und das Dialogfeld zu schließen.
Integrationselemente verbinden
Fügen Sie als Nächstes Edge-Verbindungen hinzu, um den API-Trigger mit der Aufgabe Datenzuordnung und die Aufgabe Datenzuordnung mit den Connectors zu verbinden. Eine Edge-Verbindung ist eine Verbindung zwischen zwei Elementen in einer Integration. Weitere Informationen zu Edges und Edge-Bedingungen finden Sie unter Edges.
Führen Sie die folgenden Schritte aus, um die Edge-Verbindungen hinzuzufügen:
- Klicken Sie unten im Element API Trigger auf den Kontrollpunkt Fork. Ziehen Sie die Edge-Verbindung per Drag-and-drop zum Kontrollpunkt Join oben im Element Datenzuordnung.
- Klicken Sie unten im Element Datenzuordnung auf den Steuerungspunkt Fork. Ziehen Sie die Edge-Verbindung am Steuerpunkt Join per Drag-and-drop an den oberen Rand des Connector-Elements.
Aufgabe "Datenabgleich" konfigurieren
Führen Sie die folgenden Schritte aus, um die Aufgabe zur Datenzuordnung zu konfigurieren:
- Klicken Sie im Integrationseditor auf die Aufgabe Datenzuordnung, um den Bereich für die Aufgabenkonfiguration aufzurufen.
- Klicken Sie auf Datenabgleichs-Editor öffnen.
- Klicken Sie im Datenzuordnungs-Editor auf Hinzufügen, um eine neue Variable hinzuzufügen.
- Geben Sie im Dialogfeld Variable erstellen die folgenden Informationen ein:
- Name: Geben Sie Datensatz ein.
- Datentyp: Wählen Sie JSON aus.
-
Schema:Wählen Sie Aus einer Beispiel-JSON-Nutzlast ableiten aus. Geben Sie die folgende JSON-Beispielnutzlast ein:
{ "unique_key":"304271", "created_date":"02/06/2007 12:00:00 AM", "closed_date":"03/01/2007 12:00:00 AM", "agency":"TLC", "agency_name":"Taxi and Limousine Commission", "complaint_type":"Taxi Complaint", "descriptor":"Driver Complaint", "location_type":"Street", "incident_zip":"10001", "incident_address":"", "street_name":"", "cross_street_1":"", "cross_street_2":"", "intersection_street_1":"WEST 29 STREET", "intersection_street_2":"7 AVENUE", "address_type":"INTERSECTION", "city":"NEW YORK", "landmark":"", "facility_type":"N/A", "status":"Closed", "due_date":"02/28/2007 12:00:00 AM", "resolution_action_updated_date":"03/01/2007 12:00:00 AM", "community_board":"05 MANHATTAN", "borough":"MANHATTAN", "x_coordinate_state_plane":"986215", "y_coordinate_state_plane":"211740", "park_facility_name":"", "park_borough":"MANHATTAN", "school_name":"", "school_number":"", "school_region":"", "school_code":"", "school_phone_number":"", "school_address":"", "school_city":"", "school_state":"", "school_zip":"", "school_not_found":"", "school_or_citywide_complaint":"", "vehicle_type":"", "taxi_company_borough":"", "taxi_pick_up_location":"Other", "bridge_highway_name":"", "bridge_highway_direction":"", "road_ramp":"", "bridge_highway_segment":"", "garage_lot_name":"", "ferry_direction":"", "ferry_terminal_name":"", "latitude":"40.74785373937869", "longitude":"-73.99290823133913", "location":"(40.74785373937869, -73.99290823133913)" }
- Klicken Sie auf Erstellen.
- Führen Sie nach dem Erstellen der Variable im Datenzuordnungs-Editor die folgenden Schritte aus:
- Ziehen Sie die neue Variable Datensatz in die Spalte Input.
- Ziehen Sie die Variable connectorInputPayload in die Spalte Ausgabe.
- Schließen Sie den Datenzuordnungs-Editor, um zum Integrationseditor zurückzukehren.
Unterintegration veröffentlichen
Um die Subintegration zu veröffentlichen, klicken Sie im Integrationseditor auf Veröffentlichen.
Hauptintegration einrichten
In diesem Abschnitt richten Sie die Hauptintegration ein, die zur Verarbeitung der einzelnen Datensätze eine Aufgabe For Every Parallel verwendet. Diese Hauptintegration ruft dann die Unterintegration einmal für jeden Eintrag auf.
Hauptintegration erstellen
So erstellen Sie die Hauptintegration:
- Rufen Sie in der Google Cloud Console die Seite Anwendungsintegration auf.
- Klicken Sie im Navigationsmenü auf Integrations (Integrationen). Die Seite Integrations List (Integrationsliste) wird angezeigt.
- Klicken Sie auf Integration erstellen.
- Führen Sie im Dialogfeld Integration erstellen die folgenden Aufgaben aus:
- Geben Sie einen Namen ein, z. B. Process-each-record.
- Geben Sie optional unter Beschreibung eine Beschreibung ein. Geben Sie z. B. API-Trigger zur Verarbeitung von Einträgen (Hauptintegration) ein.
- Wählen Sie die Region aus, in der Sie die Integration erstellen möchten.
- Klicken Sie auf Erstellen, um den Integrationseditor zu öffnen.
API-Trigger hinzufügen
So fügen Sie der Integration einen API-Trigger hinzu:
- Wählen Sie im Integrationseditor Aufgabe/Trigger hinzufügen > Trigger aus, um eine Liste der verfügbaren Trigger aufzurufen.
- Ziehen Sie das Element API-Trigger in den Integrationseditor.
Für jede parallele Aufgabe eine
Führen Sie die folgenden Schritte aus, um eine „Für jede parallele Aufgabe“ in die Integration hinzuzufügen:
- Wählen Sie im Integrationseditor Aufgabe/Trigger hinzufügen > Aufgaben aus, um die Liste der verfügbaren Aufgaben aufzurufen.
- Ziehen Sie das Element Für alle parallel in den Integrationseditor.
Integrationselemente verbinden
Fügen Sie als Nächstes eine Edge-Verbindung hinzu, um den API-Trigger mit der Aufgabe „Für jede parallele“ zu verbinden.
Klicken Sie unten im API-Trigger-Element auf den Steuerungspunkt Fork, um die Edge-Verbindung hinzuzufügen. Ziehen Sie die Edge-Verbindung per Drag-and-drop am Steuerpunkt Join oben im Element „Für jede parallele Aufgabe“.
Aufgabe „Für alle parallel” konfigurieren
Führen Sie die folgenden Schritte aus, um die Aufgabe „Für jede parallele“ zu konfigurieren:
- Klicken Sie im Integrationseditor auf die Aufgabe For Every Parallel, um den Bereich zur Aufgabenkonfiguration aufzurufen.
- Klicken Sie unter Arrayauswahl > Liste für Iteration auf Neue Variable hinzufügen, um eine neue Variable hinzuzufügen.
- Geben Sie im Dialogfeld Variable erstellen die folgenden Informationen ein:
-
Name: Geben Sie
records
ein. - Datentyp: Wählen Sie JSON aus.
-
Schema:Wählen Sie Aus einer Beispiel-JSON-Nutzlast ableiten aus. Geben Sie die folgende JSON-Beispielnutzlast ein:
[{ "unique_key":"304271", "created_date":"02/06/2007 12:00:00 AM", "closed_date":"03/01/2007 12:00:00 AM", "agency":"TLC", "agency_name":"Taxi and Limousine Commission", "complaint_type":"Taxi Complaint", "descriptor":"Driver Complaint", "location_type":"Street", "incident_zip":"10001", "incident_address":"", "street_name":"", "cross_street_1":"", "cross_street_2":"", "intersection_street_1":"WEST 29 STREET", "intersection_street_2":"7 AVENUE", "address_type":"INTERSECTION", "city":"NEW YORK", "landmark":"", "facility_type":"N/A", "status":"Closed", "due_date":"02/28/2007 12:00:00 AM", "resolution_action_updated_date":"03/01/2007 12:00:00 AM", "community_board":"05 MANHATTAN", "borough":"MANHATTAN", "x_coordinate_state_plane":"986215", "y_coordinate_state_plane":"211740", "park_facility_name":"", "park_borough":"MANHATTAN", "school_name":"", "school_number":"", "school_region":"", "school_code":"", "school_phone_number":"", "school_address":"", "school_city":"", "school_state":"", "school_zip":"", "school_not_found":"", "school_or_citywide_complaint":"", "vehicle_type":"", "taxi_company_borough":"", "taxi_pick_up_location":"Other", "bridge_highway_name":"", "bridge_highway_direction":"", "road_ramp":"", "bridge_highway_segment":"", "garage_lot_name":"", "ferry_direction":"", "ferry_terminal_name":"", "latitude":"40.74785373937869", "longitude":"-73.99290823133913", "location":"(40.74785373937869, -73.99290823133913)" }]
-
Name: Geben Sie
- Klicken Sie auf Erstellen.
- Geben Sie im Abschnitt Details zur Unterintegration die folgenden Informationen ein:
- API Trigger-ID: Wählen Sie das API-Trigger-Element in der Sub-Integration aus. Wählen Sie beispielsweise Process-each-record_API_1 aus.
- Ausführungsstrategie: Wählen Sie ASYNC.
- Wählen Sie Einzelne Einbindung ausführen.
- Geben Sie im Abschnitt Bei jeder Ausführung für Wo einzelne Arrayelemente zuzuordnen sind den Namen der Variablen in der Datenzuordnungsaufgabe in die Subintegration ein. Geben Sie in diesem Fall record ein. Die Variablen für die Unterintegration werden nur für veröffentlichte Integrationen aufgeführt. Sind die Variablen nicht aufgeführt, aktualisieren Sie die Seite, da es einige Zeit dauert, bis die Variablen nach der Veröffentlichung der Subintegration sichtbar werden.
Hauptintegration veröffentlichen
Klicken Sie im Integrationseditor auf Veröffentlichen, um die Hauptintegration zu veröffentlichen.
Integration testen
Führe die folgenden Schritte aus, um deine Integration zu testen:
- Laden Sie Beispieldaten in Cloud Shell herunter:
- Klicken Sie zum Starten einer Cloud Shell-Sitzung über die Google Cloud Console auf das Symbol Cloud Shell aktivieren in der Cloud Console. Dadurch wird im unteren Bereich der Google Cloud Console eine Sitzung gestartet.
- Geben Sie den folgenden Befehl in Ihr Cloud Shell-Terminal ein:
wget https://raw.githubusercontent.com/GoogleCloudPlatform/application-integration-samples/main/assets/bq-sample-dataset.json
- Prüfen Sie, ob die Beispieldaten heruntergeladen wurden. Geben Sie dazu den folgenden Befehl in Ihr Cloud Shell-Terminal ein:
Die heruntergeladene Datei wird im Cloud Shell-Terminal aufgelistet.ls -la bq-sample-dataset.json
- Geben Sie die folgenden Befehle in Ihr Cloud Shell-Terminal ein, um drei zufällig ausgewählte Einträge aus dem Beispiel-Dataset auszuwählen und sie so zu speichern, dass sie an die Integration übergeben werden können:
AUTH=$(gcloud auth print-access-token) export SAMPLE_DOCS=$(jq $(r=$((RANDOM % 1000)) ; echo ".[$r:$((r + 3))]") < bq-sample-dataset.json | jq -Rs '.') generate_post_data() { cat <<EOF { "triggerId": "api_trigger/process-records_API_1", "inputParameters": { "records": { "jsonValue": $SAMPLE_DOCS } } } EOF }
- Geben Sie den folgenden Befehl in Ihr Cloud Shell-Terminal ein, um den Test zu starten:
Ersetzen Sie in diesem Befehl Folgendes:curl -X POST \ https://integrations.googleapis.com/v1/projects/project_id/locations/region/integrations/process-records:execute \ -H "Authorization: Bearer $AUTH" \ -H "Content-Type: application/json" \ -d "$(generate_post_data)"
project_id
durch die Projekt-ID Ihres Google Cloud-Projekts.region
durch die Region, in der Sie die Integration erstellt haben.
- Führen Sie die folgenden Schritte aus, um zu prüfen, ob die BigQuery-Tabelle jetzt diese Einträge enthält:
- Klicken Sie auf der Seite Cloud Console auf das Navigationsmenü .
- Klicken Sie im Abschnitt Analytics auf BigQuery.
-
Erweitern Sie Ihr Projekt und klicken Sie auf das Dataset
bq_tutorial
. -
Erweitern Sie das Dataset bq_tutorial und klicken Sie auf die Tabelle
tutorial
. - Klicken Sie auf den Tab Tabellen-Explorer, um die eingefügten Datensätze anzusehen.
Nächste Schritte
Versuchen Sie, Integrationen mit anderen Connectors zu erstellen. Eine Liste aller unterstützten Connectors finden Sie in der Connector-Referenz.