Créer et exécuter un job qui envoie des notifications d'état Pub/Sub

Ce document explique comment créer un job par lot qui envoie des notifications Pub/Sub. Vous pouvez utiliser Pub/Sub pour recevoir des notifications lorsque l'état d'une tâche ou d'une tâche change, ou lorsqu'une tâche passe dans un état spécifique. Pour en savoir plus, consultez la page Surveiller les jobs à l'aide des notifications.

Avant de commencer

Créer et exécuter un job qui envoie des notifications

Vous pouvez créer un job par lot qui envoie des notifications Pub/Sub en procédant comme suit:

Utilisez Google Cloud CLI ou l'API REST pour créer une tâche qui inclut le champ notifications et un ou plusieurs objets jobNotification dans le corps principal du fichier JSON:

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet contenant le sujet Pub/Sub.
  • TOPIC_ID: ID du sujet Pub/Sub que vous avez créé lors de l'activation des notifications Pub/Sub.
  • ATTRIBUTES: les attributs que vous spécifiez varient selon que vous souhaitez recevoir des notifications sur une tâche ou sur l'ensemble des tâches:

    • Pour les notifications concernant tous les changements d'état d'un job, spécifiez les éléments suivants:

      "type": "JOB_STATE_CHANGED"
      
    • Pour les notifications concernant un changement d'état de tâche spécifique, spécifiez les éléments suivants:

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

      Remplacez JOB_STATE par l'un des états de tâche suivants:

      • QUEUED
      • SCHEDULED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Pour en savoir plus sur les états des tâches, consultez la page Cycle de vie des tâches.

    • Pour les notifications concernant tous les changements d'état d'une tâche, spécifiez les éléments suivants:

      "type": "TASK_STATE_CHANGED"
      
    • Pour les notifications concernant des changements d'état de tâches spécifiques, spécifiez les éléments suivants:

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

      Remplacez TASK_STATE par l'un des états de tâche suivants:

      • PENDING
      • ASSIGNED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Pour en savoir plus sur les états des tâches, consultez la section Cycle de vie des tâches.

Par exemple, supposons que vous souhaitiez recevoir des notifications sur tous les changements d'état d'une tâche et chaque fois qu'une tâche échoue. Pour ce faire, vous devez ajouter les éléments suivants au fichier JSON de configuration de votre tâche:

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

Étapes suivantes