Auf dieser Seite wird beschrieben, wie Sie die in Batch gespeicherten Informationen für Ihre Jobs mithilfe von Workflows in eine BigQuery-Tabelle exportieren. Insbesondere erfahren Sie, wie Sie den Beispielworkflow export-jobs ausführen und die resultierenden Jobinformationen in BigQuery aufrufen.
Das Exportieren von Jobinformationen ist nützlich, wenn Sie die Informationen beibehalten möchten nachdem ein Job automatisch oder manuell gelöscht wurde oder die Informationen außerhalb von Batch analysieren möchten. Wenn Sie stattdessen nur Informationen zu Aufgaben- und Jobstatusänderungen nach BigQuery exportieren möchten, lesen Sie den Abschnitt Jobs mithilfe von Benachrichtigungen überwachen.
Informationen zum Exportieren von Jobinformationen, die in anderen Google Cloud Diensten gespeichert sind, finden Sie in der Exportdokumentation für diesen Dienst. Beispiele:
Hinweis
- Wenn Sie Batch noch nicht verwendet haben, lesen Sie den Artikel Erste Schritte mit Batch und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzererfüllen.
Aktivieren Sie die BigQuery API und die Workflows API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen.Optional: Geben Sie ein vorhandenes BigQuery-Dataset oder eine BigQuery-Tabelle in Ihrem Projekt an, in dem bzw. der Sie die Jobinformationen speichern möchten. Eine vorhandene Tabelle muss ein passendes Schema haben.
Andernfalls können Sie den Workflow „export-jobs“ verwenden, um ein neues Dataset oder eine neue Tabelle zu erstellen.
-
Bereiten Sie ein Dienstkonto für den Workflow „export-jobs“ vor. Gehen Sie dazu so vor:
- Erstellen Sie ein neues Dienstkonto oder geben Sie ein vorhandenes Dienstkonto an.
-
Damit das Dienstkonto die erforderlichen Berechtigungen zum Ausführen des Workflows „export-jobs“ hat, bitten Sie Ihren Administrator, dem Dienstkonto die folgenden IAM-Rollen für das Projekt zuzuweisen:
-
Logs schreiben:
Logautor (
roles/logging.logWriter) -
BigQuery-Datasets und -Tabellen erstellen und bearbeiten:
BigQuery-Administrator (
roles/bigquery.admin) -
Batch-Jobs ansehen und löschen:
Bearbeiter von Batchjobs (
roles/batch.jobsEditor)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Ihr Administrator kann dem Dienstkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.
-
Logs schreiben:
Logautor (
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen, Bereitstellen und Ausführen des Workflows „export-jobs“ benötigen:
-
Jobs ansehen:
Betrachter von Batchjobs (
roles/batch.jobsViewer) -
Dienstkonten ansehen:
Dienstkonten ansehen (
roles/iam.serviceAccountViewer) -
BigQuery-Datasets und -Tabellen ansehen:
BigQuery-Datenbetrachter (
roles/bigquery.dataViewer) -
Workflows erstellen, bereitstellen und ausführen:
Workflow-Bearbeiter (
roles/workflows.editor)
-
Jobs ansehen:
Betrachter von Batchjobs (
-
Achten Sie darauf, dass Nutzer in Ihrem Projekt die exportierten Jobinformationen ansehen können.
Damit ein Nutzer die erforderlichen Berechtigungen zum Exportieren von Jobinformationen hat, bitten Sie Ihren Administrator, dem Nutzer die IAM-Rolle „BigQuery-Datenbetrachter“ (
roles/bigquery.dataViewer) für die Tabelle, das Dataset oder das Projekt zuzuweisen.
Jobinformationen exportieren
In diesem Abschnitt wird beschrieben, wie Sie Jobinformationen mithilfe des
Workflows export-jobs exportieren, der aus dem
export-to-bigquery Codebeispiel stammt.
Der Workflow „export-jobs“ exportiert die Informationen für die Jobs Ihres Projekts, die sich in der angegebenen Region befinden und die angegebenen Filterkriterien erfüllen.
Der Workflow „export-jobs“ exportiert Jobinformationen in eine bestimmte Tabelle in einem bestimmten Dataset. Diese werden automatisch vom Workflow erstellt, wenn sie in Ihrem Projekt noch nicht vorhanden sind. Standardmäßig werden mit dem Workflow „export-jobs“ auch die exportierten Jobs aus Batch gelöscht. Sie können den Workflow „export-jobs“ aber optional so bearbeiten, dass die Jobs nicht gelöscht werden.
Führen Sie für jeden Workflow „export-jobs“, den Sie verwenden möchten, die folgenden Schritte aus:
- Konfigurieren Sie die Workflowdefinition.
- Erstellen und stellen Sie den Workflow bereit.
- Führen Sie den Workflow aus. Wiederholen Sie diesen Schritt jedes Mal, wenn Sie die angegebenen Jobs exportieren möchten.
Workflowdefinition konfigurieren
Laden Sie die
export-to-bigquery-delete-batch-jobs.yamlDatei von GitHub herunter.Öffnen Sie die Datei
export-to-bigquery-delete-batch-jobs.yamlin einem Texteditor. Nehmen Sie dann die folgenden Änderungen vor:Ersetzen Sie
sys.get_env("GOOGLE_CLOUD_PROJECT_ID")durch Ihre Projekt-ID formatiert als String, z. B."my-project-id".Ersetzen Sie
sys.get_env("GOOGLE_CLOUD_LOCATION")durch die Region, die die zu exportierenden Jobs enthält, formatiert als String, z. B."us-central1".Optional: Bearbeiten Sie die Filterkriterien, die angeben, welche Jobs exportiert werden sollen.
Standardmäßig gibt der Workflow „export-jobs“ die Filterkriterien
"(status.state:SUCCEEDED OR status.state:FAILED OR status.state:CANCELLED) AND create_time<=\"2023-05-01T00:00:00Z\""an. Mit diesen Standardfilterkriterien werden nur Informationen für Jobs exportiert, die den StatusSUCCEEDED,FAILEDoderCANCELLEDhaben und vor oder bis zum2023-05-01T00:00:00ZRFC 3339 Zeitstempel erstellt wurden.Optional: Ersetzen Sie
default_dataset_iddurch einen anderen Namen für das Dataset, das der Workflow „export-jobs“ verwenden oder erstellen soll.Optional: Ersetzen Sie
default_table_iddurch einen anderen Namen für die Tabelle, die der Workflow „export-jobs“ verwenden oder erstellen soll.Wenn die exportierten Jobs nicht vom Workflow gelöscht werden sollen, gehen Sie so vor:
Entfernen Sie die folgenden Zeilen:
- log_delete_step: call: sys.log args: text: ${"Deleting Batch job " + j.name} severity: NOTICE - delete_job: call: googleapis.batch.v1.projects.locations.jobs.delete args: name: ${j.name}Entfernen Sie
+ " and deleted".
Speichern Sie die Datei. Lassen Sie die Datei geöffnet.
Workflow erstellen und bereitstellen
Rufen Sie in der Google Cloud Console die Seite Workflows auf:
Klicken Sie auf der Seite Workflows auf Erstellen.
Geben Sie im Feld Workflowname einen Namen für den Workflow ein, z. B.
export-batch-jobs-us-central1.Wählen Sie in der Liste Dienstkonto das vorbereitete Dienstkonto aus.
Klicken Sie auf Weiter.
Ersetzen Sie im Workflow-Editor den Beispielworkflow durch den Inhalt der Datei
export-to-bigquery-delete-batch-jobs.yaml. Anschließend können Sie die Datei schließen.Klicken Sie auf Bereitstellen. Die Seite Workflowdetails wird geöffnet.
Workflow ausführen
Klicken Sie auf der Seite Workflowdetails auf Ausführen. Die Seite Workflow ausführen wird geöffnet.
Klicken Sie auf der Seite Workflow ausführen auf Ausführen.
Warten Sie auf der Seite Ausführungsdetails, bis die Ausführung des Workflows abgeschlossen ist. Die Ausführungszeit zum Exportieren und Löschen einiger Jobs beträgt in der Regel einige Sekunden. Die Ausführung kann jedoch länger dauern, wenn Sie viele Jobs exportieren und löschen.
Wenn die Ausführung des Workflows abgeschlossen ist, werden die Ergebnisse im Bereich Ausgabe angezeigt.
Exportierte Jobinformationen ansehen
In diesem Abschnitt wird beschrieben, wie Sie die von dem Workflow „export-jobs“ erstellten Tabellendaten ansehen. Mit den folgenden Schritten können Sie beispielsweise prüfen, ob der Workflow erfolgreich ausgeführt wurde, und die Tabellendaten durchsuchen. Weitere Informationen zum Ansehen und Verwenden der exportierten Jobinformationen, z. B. zum Schreiben von Abfragen, finden Sie in der BigQuery-Dokumentation unter Tabellendaten verwalten.
Rufen Sie in der Google Cloud Console die Seite BigQuery auf:
Öffnen Sie im Bereich Explorer die Tabelle mit den exportierten Jobinformationen:
- Geben Sie im Feld BigQuery-Ressourcen suchen den Namen der Tabelle aus Ihrem Workflow „export-jobs“ ein. Der Standardtabellenname ist beispielsweise
default_table_id. - Klicken Sie auf den Namen der Tabelle. Die Seite mit den Tabellendetails wird geöffnet.
Klicken Sie auf der Seite mit den Tabellendetails auf den Tab Details.
Notieren Sie sich auf dem Tab Details den Zeitstempel unter Zuletzt geändert und die Anzahl der Zeilen.
Klicken Sie auf der Seite mit den Tabellendetails auf den Tab Vorschau.
- Geben Sie im Feld BigQuery-Ressourcen suchen den Namen der Tabelle aus Ihrem Workflow „export-jobs“ ein. Der Standardtabellenname ist beispielsweise
Nächste Schritte
- Weitere Informationen zu Workflows.
- Weitere Informationen zu BigQuery.
- Weitere Informationen zu Batch: