Jobstatus mit Pub/Sub-Benachrichtigungen und BigQuery überwachen

In diesem Dokument wird erläutert, wie Sie Job- und Aufgabenstatusänderungen durch Einrichten von Pub/Sub-Benachrichtigungen überwachen können. Sie können die Benachrichtigungen für verschiedene Anwendungsfälle verwenden. In diesem Dokument wird beispielsweise erläutert, wie die Benachrichtigungen in eine BigQuery-Tabelle gestreamt werden, mit 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.

Hinweise

  • Wenn Sie Batch noch nicht verwendet haben, lesen Sie den Abschnitt Erste Schritte mit Batch und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
  • Wenn Sie Pub/Sub-Benachrichtigungen für Ihre Batchjobs einrichten möchten, gehen Sie so vor:
    1. Pub/Sub API aktivieren.

      Aktivieren Sie die API

    2. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub Editor (roles/pubsub.editor) für ein Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Konfigurieren eines Pub/Sub-Themas und -Abos benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

      Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

  • Zusätzliche Anforderungen variieren je nach Abotyp, den du konfigurieren möchtest. Wenn Sie beispielsweise Benachrichtigungen in einer BigQuery-Tabelle streamen und analysieren möchten, müssen Sie Folgendes tun:
    1. BigQuery API aktivieren.

      Aktivieren Sie die API

    2. Bitten Sie Ihren Administrator, dem Pub/Sub-Dienstkonto die IAM-Rolle BigQuery Data Editor (roles/bigquery.dataEditor) für das Projekt des Pub/Sub-Themas zu gewähren, damit das Pub/Sub-Dienstkonto die erforderlichen Berechtigungen zum Streamen von Pub/Sub-Benachrichtigungen an BigQuery hat.

      Weitere Informationen zum Zuweisen dieser Rolle finden Sie unter Dem Pub/Sub-Dienstkonto BigQuery-Rollen zuweisen.

    3. Sorgen Sie dafür, dass alle Nutzer, die Sie Benachrichtigungen in BigQuery analysieren möchten, die erforderlichen Berechtigungen haben.

      Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Abfragen von Pub/Sub-Benachrichtigungen in BigQuery benötigen:

Pub/Sub-Benachrichtigungen für Batch einrichten

Batch unterstützt Pub/Sub-Benachrichtigungen bei Änderungen des Job- und Aufgabenstatus, die Sie für Benachrichtigungen, Beobachtbarkeit 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:

  1. Erstellen oder identifizieren Sie ein Pub/Sub-Thema für Ihre Batchjobs.
  2. Erstellen Sie mindestens ein Abo für Ihr Thema, um dessen Benachrichtigungen zu erhalten und zu verwenden.
  3. Jobs konfigurieren, um Benachrichtigungen an Ihr Thema zu senden

Nachdem Sie Pub/Sub-Benachrichtigungen für Batch eingerichtet haben, können Sie jeden Job optional so konfigurieren, dass bestimmte Benachrichtigungen gesendet werden. Sie können Benachrichtigungen erhalten, wenn sich der Job- oder Aufgabenstatus ändern, oder Sie können die Benachrichtigungen nach bestimmten Job- oder Aufgabenstatus filtern. Insbesondere sendet Pub/Sub keine Benachrichtigungen für den ersten Status, 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 identifizieren

Erstellen Sie ein neues Pub/Sub-Thema oder bestimmen Sie ein vorhandenes Pub/Sub-Thema, das Sie für Batchbenachrichtigungen verwenden möchten.

Wie später in diesem Dokument erläutert, können Jobs erst dann Benachrichtigungen an dieses Pub/Sub-Thema senden, wenn Ihr Administrator zusätzliche Berechtigungen erteilt, die dies zulassen.

Erstelle ein Abo, um Benachrichtigungen zu erhalten und zu verwenden

Wenn Sie in einem Pub/Sub-Thema veröffentlichte Nachrichten empfangen und nutzen möchten, müssen Sie mindestens ein Abo für dieses Thema erstellen.

Eine Möglichkeit besteht beispielsweise darin, das Thema so zu konfigurieren, dass seine Benachrichtigungen an BigQuery gestreamt werden. Wenn Sie dann Jobs ausführen, die Benachrichtigungen veröffentlichen, können Sie diese Benachrichtigungen 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 Aboübersicht.

Jobs so konfigurieren, dass Benachrichtigungen an Ihr Thema gesendet werden

Zum Konfigurieren von Jobs, 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 insbesondere folgendermaßen vor:

  1. Falls noch nicht geschehen, bitten Sie Ihren Administrator, alle Berechtigungen zu erteilen, die für Jobs zum Senden von Benachrichtigungen an Ihr Pub/Sub-Thema erforderlich sind. Diese Berechtigungen sind im Abschnitt Erforderliche Rollen auf dieser Seite aufgeführt.
  2. Erstellen Sie einen Job, der Pub/Sub-Benachrichtigungen aktiviert, und führen Sie ihn aus. Definieren Sie dazu das Feld notifications des Jobs.

Beispiel: Pub/Sub-Benachrichtigungen in BigQuery empfangen und verwenden

In den folgenden Abschnitten wird ein Anwendungsfall für den Empfang und die Verwendung von Pub/Sub-Benachrichtigungen in BigQuery erläutert. Wenn Sie ein Abo konfigurieren, mit dem die Pub/Sub-Benachrichtigungen Ihres Themas an eine BigQuery-Tabelle gestreamt werden, können Sie den Verlauf von Job- und Aufgabenstatusänderungen aufbewahren und diese Änderungen abfragen.

Konfigurieren Sie ein Abo, das Benachrichtigungen an BigQuery streamt

Konfigurieren Sie ein Pub/Sub-Abo, das Benachrichtigungen von einem Thema in eine BigQuery-Tabelle streamt. Gehen Sie dazu so vor:

  1. Erstellen oder identifizieren Sie ein Pub/Sub-Thema für Batch, falls noch nicht geschehen.

  2. Erstellen Sie ein BigQuery-Dataset, falls noch nicht geschehen.

  3. 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"
      }
    ]
    
  4. Erstellen Sie ein Pub/Sub-Abo, das an BigQuery streamt, und geben Sie die folgenden Optionen an:

    • Thema: 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.

Jedes Mal, wenn 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. Zur Analyse der Benachrichtigungen in BigQuery 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

Die folgende Abfrage zeigt beispielsweise die JobUID an, die mit den einzelnen Benachrichtigungen verknüpft sind:

select attributes.JobUID from `example-table`

Nächste Schritte