Crea ed esegui un job che invii notifiche di stato Pub/Sub

Questo documento spiega come creare un job batch che invia notifiche Pub/Sub. Puoi utilizzare Pub/Sub per ricevere notifiche quando lo stato di un job o di un'attività cambia oppure quando un job o un'attività entra in uno stato specifico. Per ulteriori informazioni, consulta Monitorare i job tramite le notifiche.

Prima di iniziare

Crea ed esegui un job che invii notifiche

Puoi creare un job batch che invia notifiche Pub/Sub procedendo nel seguente modo:

Utilizza l'interfaccia a riga di comando Google Cloud CLI o l'API REST per creare un job che includa il campo notifications e uno o più oggetti jobNotification nel corpo principale del file JSON:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene l'argomento Pub/Sub.
  • TOPIC_ID: l'ID argomento Pub/Sub dell'argomento creato quando hai abilitato le notifiche Pub/Sub.
  • ATTRIBUTES: gli attributi specificati variano a seconda che tu voglia ricevere notifiche su un job o su tutte le attività nel job:

    • Per le notifiche relative a tutte le modifiche dello stato dei job, specifica quanto segue:

      "type": "JOB_STATE_CHANGED"
      
    • Per le notifiche relative a una modifica specifica dello stato di un job, specifica quanto segue:

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

      Sostituisci JOB_STATE con uno dei seguenti stati del job:

      • QUEUED
      • SCHEDULED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Per ulteriori informazioni sugli stati dei job, consulta Ciclo di vita dei job.

    • Per le notifiche relative a tutte le modifiche dello stato delle attività, specifica quanto segue:

      "type": "TASK_STATE_CHANGED"
      
    • Per le notifiche relative a modifiche specifiche dello stato di un'attività, specifica quanto segue:

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

      Sostituisci TASK_STATE con uno dei seguenti stati dell'attività:

      • PENDING
      • ASSIGNED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Per ulteriori informazioni sugli stati delle attività, consulta Ciclo di vita dei job.

Ad esempio, supponi di voler ricevere notifiche su tutte le modifiche dello stato del job e ogni volta che un'attività non va a buon fine. Per farlo, aggiungi quanto segue al file JSON di configurazione del job:

  "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"
      }
    }
  ]

Passaggi successivi