Job erstellen und ausführen, der Pub/Sub-Statusbenachrichtigungen sendet

In diesem Dokument wird erläutert, wie Sie einen Batch-Job erstellen, der Pub/Sub-Benachrichtigungen sendet. Sie können Pub/Sub verwenden, um Benachrichtigungen zu erhalten, wenn sich der Job- oder Aufgabenstatus ändert oder wenn ein Job oder eine Aufgabe einen bestimmten Status erreicht. Weitere Informationen finden Sie unter Jobs mithilfe von Benachrichtigungen überwachen.

Hinweise

Job zum Senden von Benachrichtigungen erstellen und ausführen

So erstellen Sie einen Batch-Job, der Pub/Sub-Benachrichtigungen sendet:

Verwenden Sie die Google Cloud CLI oder die REST API, um einen Job zu erstellen, der das Feld notifications und ein oder mehrere jobNotification-Objekte im Haupttext der JSON-Datei enthält:

  "notifications": [
    {
      "pubsubTopic": "projects/PROJECT_ID/topics/TOPIC_ID",
      "message": {
        ATTRIBUTES
      }
    },
  ]

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID des Projekts, das das Pub/Sub-Thema enthält.
  • TOPIC_ID: Die Pub/Sub-Themen-ID des Themas, das Sie beim Aktivieren von Pub/Sub-Benachrichtigungen erstellt haben.
  • ATTRIBUTES: Welche Attribute Sie angeben, hängt davon ab, ob Sie Benachrichtigungen zu einem Job oder zu allen Aufgaben im Job erhalten möchten:

    • Geben Sie Folgendes an, um Benachrichtigungen über alle Jobstatusänderungen zu erhalten:

      "type": "JOB_STATE_CHANGED"
      
    • Geben Sie für Benachrichtigungen über eine bestimmte Jobstatusänderung Folgendes an:

      "type": "JOB_STATE_CHANGED",
      "newJobState": "JOB_STATE"
      

      Ersetzen Sie JOB_STATE durch einen der folgenden Jobstatus:

      • QUEUED
      • SCHEDULED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Weitere Informationen zu Jobstatus finden Sie unter Joblebenszyklus.

    • Geben Sie Folgendes an, um Benachrichtigungen über alle Änderungen des Aufgabenstatus zu erhalten:

      "type": "TASK_STATE_CHANGED"
      
    • Geben Sie Folgendes an, um Benachrichtigungen über bestimmte Änderungen des Aufgabenstatus zu erhalten:

      "type": "TASK_STATE_CHANGED",
      "newTaskState": "TASK_STATE"
      

      Ersetzen Sie TASK_STATE durch einen der folgenden Aufgabenstatus:

      • PENDING
      • ASSIGNED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Weitere Informationen zu Aufgabenstatus finden Sie unter Joblebenszyklus.

Angenommen, Sie möchten Benachrichtigungen über alle Jobstatusänderungen und jedes Mal erhalten, wenn eine Aufgabe fehlschlägt. Fügen Sie dazu der JSON-Konfigurationsdatei Ihres Jobs Folgendes hinzu:

  "notifications": [
    {
      "pubsubTopic": "projects/example-projecet/topics/example-topic",
      "message": {
        "type": "JOB_STATE_CHANGED"
      }
    },
    {
      "pubsubTopic": "projects/example-project/topics/example-topic",
      "message": {
        "type": "TASK_STATE_CHANGED",
        "newTaskState": "FAILED"
      }
    }
  ]

Nächste Schritte