In diesem Dokument wird erläutert, wie Sie Änderungen am Job- und Aufgabenstatus überwachen können, indem Sie Pub/Sub-Benachrichtigungen einrichten. Sie können die Benachrichtigungen für verschiedene Anwendungsfälle verwenden. In diesem Dokument wird beispielsweise erläutert, wie Sie die Benachrichtigungen in eine BigQuery-Tabelle streamen, in der Sie die Daten analysieren können. Weitere Informationen zu den Anwendungsfällen für Pub/Sub-Benachrichtigungen finden Sie in der Pub/Sub-Dokumentation unter Abotyp auswählen.
Wenn Sie alle Informationen zu einem Job nach BigQuery exportieren möchten, lesen Sie stattdessen den Hilfeartikel Jobinformationen exportieren.
Hinweise
- Wenn Sie Batch noch nicht verwendet haben, lesen Sie den Hilfeartikel Batch-Dateien erstellen und ausführen und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
- So richten Sie Pub/Sub-Benachrichtigungen für Ihre Batchjobs ein:
-
Enable the Pub/Sub API.
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub-Bearbeiter (
roles/pubsub.editor
) für ein Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines Pub/Sub-Themas und eines Abos benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
- Zusätzliche Anforderungen variieren je nach Art des Abos, das Sie konfigurieren möchten. Wenn Sie beispielsweise Benachrichtigungen in eine BigQuery-Tabelle streamen und analysieren möchten, gehen Sie so vor:
-
Enable the BigQuery API.
-
Damit das Pub/Sub-Dienstkonto die erforderlichen Berechtigungen zum Streamen von Pub/Sub-Benachrichtigungen an BigQuery hat, bitten Sie Ihren Administrator, dem Pub/Sub-Dienstkonto die IAM-Rolle BigQuery-Datenbearbeiter (
roles/bigquery.dataEditor
) für das Projekt des Pub/Sub-Themas zuzuweisen.Weitere Informationen zum Zuweisen dieser Rolle finden Sie unter Dem Pub/Sub-Dienstkonto BigQuery-Rollen zuweisen.
- Achten Sie darauf, dass alle Nutzer, für die Sie Benachrichtigungen in BigQuery analysieren möchten, die erforderlichen Berechtigungen haben.
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen von Pub/Sub-Benachrichtigungen in BigQuery benötigen:
-
BigQuery-Jobnutzer (
roles/bigquery.jobUser
) für das Projekt der BigQuery-Tabelle -
BigQuery-Datenbetrachter (
roles/bigquery.dataViewer
) für die BigQuery-Tabelle
-
BigQuery-Jobnutzer (
-
Pub/Sub-Benachrichtigungen für Batch einrichten
Batch unterstützt Pub/Sub-Benachrichtigungen für Änderungen am Job- und Aufgabenstatus, die Sie für Benachrichtigungen, Observabilität oder Analysen verwenden können.
Führen Sie die in den folgenden Abschnitten beschriebenen Schritte aus, um Pub/Sub-Benachrichtigungen für einen oder mehrere Batchjobs einzurichten:
- Erstellen oder identifizieren Sie ein Pub/Sub-Thema für Ihre Batch-Jobs.
- Erstellen Sie mindestens ein Abo für Ihr Thema, um Benachrichtigungen zu erhalten und zu verwenden.
- Konfigurieren Sie Jobs, um Benachrichtigungen an Ihr Thema zu senden.
Nachdem Sie Pub/Sub-Benachrichtigungen für Batch eingerichtet haben, können Sie optional jeden Job so konfigurieren, dass bestimmte Benachrichtigungen gesendet werden. Sie können Benachrichtigungen erhalten, sobald sich der Status eines Jobs oder einer Aufgabe ändert. Sie können die Benachrichtigungen auch nach bestimmten Job- oder Aufgabenstatus filtern. Pub/Sub sendet keine Benachrichtigungen für den ersten Status, in den ein Job oder eine Aufgabe eintritt. Pub/Sub sendet nur Benachrichtigungen, wenn ein Job von einem Status in einen anderen wechselt. Weitere Informationen zu den Attributen, die Sie für Pub/Sub-Benachrichtigungen konfigurieren können, finden Sie unter Job erstellen und ausführen, der Pub/Sub-Statusbenachrichtigungen sendet.
Pub/Sub-Thema für Batch erstellen oder angeben
Erstellen Sie ein neues Pub/Sub-Thema oder identifizieren Sie ein vorhandenes Pub/Sub-Thema, das Sie für Batchbenachrichtigungen verwenden möchten.
Wie weiter unten in diesem Dokument erläutert, können Jobs erst dann Benachrichtigungen an dieses Pub/Sub-Thema senden, wenn Ihr Administrator Ihnen zusätzliche Berechtigungen dazu erteilt.
Abo erstellen, um Benachrichtigungen zu erhalten und zu verwenden
Wenn Sie Nachrichten empfangen und verwenden möchten, die in einem Pub/Sub-Thema veröffentlicht wurden, müssen Sie mindestens ein Abo für dieses Thema erstellen.
Sie können Ihr Thema beispielsweise so konfigurieren, dass Benachrichtigungen in BigQuery gestreamt werden. Wenn Sie dann Jobs ausführen, die Benachrichtigungen veröffentlichen, können Sie diese in einer BigQuery-Tabelle empfangen und analysieren. Weitere Informationen finden Sie in diesem Dokument unter Beispiel: Pub/Sub-Benachrichtigungen in BigQuery empfangen und verwenden.
Weitere Informationen zu Abos und anderen Abooptionen finden Sie in der Pub/Sub-Dokumentation unter Abos – Übersicht.
Jobs so konfigurieren, dass Benachrichtigungen an Ihr Thema gesendet werden
Wenn Sie Jobs konfigurieren möchten, die Pub/Sub-Benachrichtigungen an Ihr Thema senden, folgen Sie der Anleitung auf der Seite Job erstellen und ausführen, der Pub/Sub-Statusbenachrichtigungen sendet. Gehen Sie dabei so vor:
- Bitten Sie Ihren Administrator, sofern noch nicht geschehen, alle erforderlichen Berechtigungen zu gewähren, damit Jobs Benachrichtigungen an Ihr Pub/Sub-Thema senden können. Diese Berechtigungen sind auf dieser Seite im Abschnitt Erforderliche Rollen aufgeführt.
- Erstellen und führen Sie einen Job aus, für den Pub/Sub-Benachrichtigungen aktiviert sind. Definieren Sie dazu das Feld
notifications
des Jobs.
Beispiel: Pub/Sub-Benachrichtigungen in BigQuery empfangen und verwenden
In den folgenden Abschnitten wird ein Beispiel für den Empfang und die Verwendung von Pub/Sub-Benachrichtigungen in BigQuery erläutert. Wenn Sie ein Abo konfigurieren, das die Pub/Sub-Benachrichtigungen Ihres Themas in eine BigQuery-Tabelle streamt, können Sie den Verlauf der Änderungen des Job- und Aufgabenstatus speichern und diese Änderungen abfragen.
Abo konfigurieren, das Benachrichtigungen zu BigQuery streamt
So konfigurieren Sie ein Pub/Sub-Abo, das Benachrichtigungen von einem Thema in eine BigQuery-Tabelle streamt:
Erstellen oder identifizieren Sie ein Pub/Sub-Thema für Batch, falls noch nicht geschehen.
Wenn Sie noch kein BigQuery-Dataset haben, erstellen Sie eines.
Erstellen Sie eine BigQuery-Tabelle mit der folgenden Schemadefinition:
[ { "name": "data", "type": "STRING" }, { "name": "subscription_name", "type": "STRING" }, { "name": "message_id", "type": "STRING" }, { "name": "attributes", "type": "JSON" }, { "name": "publish_time", "type": "TIMESTAMP", "mode": "NULLABLE" } ]
Erstellen Sie ein Pub/Sub-Abo, das nach BigQuery streamt, und geben Sie die folgenden Optionen an:
- Topic: Wählen Sie das Pub/Sub-Thema für Batch aus.
- Projekt: Wählen Sie das Projekt aus, das Ihre BigQuery-Tabelle enthält.
- Dataset: Wählen Sie das Dataset aus, das Ihre BigQuery-Tabelle enthält.
- Tabelle: Wählen Sie die Tabelle aus, die Sie im vorherigen Schritt erstellt haben.
- Wählen Sie Schema des Themas verwenden aus.
- Wählen Sie Metadaten schreiben aus.
Wenn jetzt eine Pub/Sub-Benachrichtigung an dieses Thema gesendet wird, streamt Pub/Sub diese Benachrichtigung an die BigQuery-Tabelle. Nachdem Sie Jobs zum Senden von Pub/Sub-Benachrichtigungen konfiguriert haben, können Sie Benachrichtigungen in BigQuery analysieren.
Benachrichtigungen in BigQuery analysieren
Sie können Benachrichtigungen in BigQuery analysieren, nachdem Sie ein Abo für eine BigQuery-Tabelle für Ihr Thema konfiguriert und Jobs ausgeführt haben, die Benachrichtigungen an Ihr Thema senden. Wenn Sie die Benachrichtigungen in BigQuery analysieren möchten, führen Sie eine Abfrage für die Spalte attributes
der BigQuery-Tabelle aus. Welche Attribute Sie abfragen können, hängt davon ab, ob Sie Benachrichtigungen für Aufgaben oder Jobs konfiguriert haben.
Sie können die folgenden Attribute von Aufgabenbenachrichtigungen abfragen:
JobUID
NewTaskState
Region
TaskName
TaskUID
Type
Sie können die folgenden Attribute von Jobbenachrichtigungen abfragen:
JobUID
JobName
NewJobState
Region
Type
In der folgenden Abfrage wird beispielsweise der JobUID
angezeigt, der mit jeder Benachrichtigung verknüpft ist:
select attributes.JobUID from `example-table`
Nächste Schritte
- Weitere Informationen zum Erstellen und Ausführen eines Jobs, der Pub/Sub-Statusbenachrichtigungen sendet
- Weitere Informationen zu Pub/Sub-Abos
- Weitere Informationen zu BigQuery-Analysen