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
- Wenn Sie Batch noch nie verwendet haben, lesen Sie die Informationen unter Erste Schritte mit Batch. Aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Ausführen eines Jobs, der Benachrichtigungen sendet, benötigen:
-
Batchjob-Bearbeiter (
roles/batch.jobsEditor
) für das Projekt. -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) im Dienstkonto des Jobs. Dies ist standardmäßig das Compute Engine-Standarddienstkonto. -
Pub/Sub-Bearbeiter (
roles/pubsub.editor
) für das Pub/Sub-Thema oder -Projekt.
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.
-
Batchjob-Bearbeiter (
-
Bitten Sie Ihren Administrator, dem Dienstkonto des Jobs die IAM-Rolle Pub/Sub-Publisher (
roles/pubsub.publisher
) für Ihr Pub/Sub-Thema zu gewähren, damit das Dienstkonto des Jobs die erforderlichen Berechtigungen zum Veröffentlichen von Pub/Sub-Benachrichtigungen hat.Standardmäßig ist das Dienstkonto des Jobs das Compute Engine-Standarddienstkonto.
- Aktivieren Sie Pub/Sub-Statusbenachrichtigungen für den Job.
- Optional: Konfigurieren Sie Pub/Sub so, dass Benachrichtigungen an BigQuery gestreamt werden.
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
- Wenn Probleme beim Erstellen oder Ausführen eines Jobs auftreten, lesen Sie die Informationen unter Fehlerbehebung.
- Aufträge und Aufgaben ansehen
- Weitere Informationen zu Joberstellungsoptionen