Jobstatus mit Pub/Sub-Benachrichtigungen und BigQuery überwachen

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, mit der Sie die Daten analysieren können. Weitere Informationen zu den Anwendungsfällen für Pub/Sub-Benachrichtigungen finden Sie unter Abotyp auswählen in der Pub/Sub-Dokumentation.

Wenn Sie alle Informationen zu einem Job nach BigQuery exportieren möchten, lesen Sie stattdessen den Hilfeartikel Jobinformationen exportieren.

Hinweise

  1. Wenn Sie Batch zum ersten Mal verwenden, lesen Sie Erste Schritte mit Batch und aktivieren Sie Batch, indem Sie den Voraussetzungen für Projekte und Nutzer.
  2. So richten Sie Pub/Sub-Benachrichtigungen für Ihre Batchjobs ein:
    1. Enable the Pub/Sub API.

      Enable the API

    2. Um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines Pub/Sub-Themas und -Abos benötigen, bitten Sie Ihren Administrator, Ihnen IAM-Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor) für ein Projekt 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.

  3. Zusätzliche Anforderungen variieren je nach Art des Abos, das Sie für die Konfiguration entscheiden. Wenn Sie beispielsweise Benachrichtigungen in eine BigQuery-Tabelle streamen und analysieren möchten, gehen Sie so vor:
    1. Enable the BigQuery API.

      Enable the API

    2. Damit das Pub/Sub-Dienstkonto die erforderlichen zum Streamen von Pub/Sub-Benachrichtigungen an BigQuery, bitten Sie Ihren Administrator, dem Pub/Sub-Dienstkonto die Die IAM-Rolle BigQuery Data Editor (roles/bigquery.dataEditor) für das Projekt des Pub/Sub-Themas.

      Weitere Informationen zum Zuweisen dieser Rolle finden Sie unter Weisen Sie dem Pub/Sub-Dienstkonto BigQuery-Rollen zu.

    3. Achten Sie darauf, dass alle Nutzer, die Sie Benachrichtigungen analysieren möchten, BigQuery hat die erforderlichen Berechtigungen.

      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:

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:

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

Nachdem Sie Pub/Sub-Benachrichtigungen für Batch eingerichtet haben, können Sie Sie können jeden Job optional 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 Informationen zu den Attributen, die Sie für Pub/Sub konfigurieren können erhalten 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 Vorhandenes Pub/Sub-Thema identifizieren die Sie für Batch-Benachrichtigungen verwenden möchten.

Wie später in diesem Dokument erläutert, können Jobs keine Benachrichtigungen an dieses Pub/Sub-Thema, bis Ihr Administrator zusätzliche Berechtigungen, die dies ermöglichen.

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 an BigQuery senden. Wenn Sie dann Jobs ausführen, Benachrichtigungen veröffentlichen, können Sie die Benachrichtigungen in einem BigQuery-Tabelle. Weitere Informationen finden Sie unter Beispiel: Pub/Sub-Benachrichtigungen in BigQuery empfangen und verwenden in diesem Dokument.

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

So konfigurieren Sie Jobs, die Pub/Sub-Benachrichtigungen an Ihre folgen Sie der Anleitung auf der Job erstellen und ausführen, der Pub/Sub-Statusbenachrichtigungen sendet Seite. Gehen Sie insbesondere folgendermaßen vor:

  1. Bitten Sie Ihren Administrator, Ihnen alle Berechtigungen zu erteilen, falls Sie dies noch nicht getan haben. erforderlich, damit Jobs Benachrichtigungen an Ihr Pub/Sub-Thema senden. Diese Berechtigungen sind auf dieser Seite im Abschnitt Erforderliche Rollen aufgeführt.
  2. Erstellen und führen Sie einen Job aus, der Pub/Sub-Benachrichtigungen aktiviert, indem Sie das Feld notifications des Jobs definieren.

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. Durch Konfigurieren eines abonnieren, das die Pub/Sub-Benachrichtigungen Ihres Themas In der BigQuery-Tabelle können Sie den Verlauf des Job- und Aufgabenstatus beibehalten. und diese Änderungen abzufragen.

Abo konfigurieren, das Benachrichtigungen zu BigQuery streamt

So konfigurieren Sie ein Pub/Sub-Abo, das Benachrichtigungen von einem Thema in eine BigQuery-Tabelle streamt:

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

  2. Wenn Sie noch kein BigQuery-Dataset haben, erstellen Sie eines.

  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. Pub/Sub-Abo erstellen, das an BigQuery streamt und legen Sie die folgenden Optionen fest:

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

Wenn nun eine Pub/Sub-Benachrichtigung an dieses Thema gesendet wird, Pub/Sub streamt 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. Benachrichtigungen analysieren Führen Sie in BigQuery eine Abfrage aus. in der Spalte attributes der BigQuery-Tabelle. Die Attribute, die können Sie abfragen, je nachdem, 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, die mit jedem Benachrichtigung:

select attributes.JobUID from `example-table`

Nächste Schritte