

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Événements Jobs
<a name="events-jobs"></a>

Le service AWS IoT Jobs publie sur des rubriques réservées sur le protocole MQTT lorsque des tâches sont en attente, terminées ou annulées, et lorsqu'un appareil signale un succès ou un échec lors de l'exécution d'une tâche. Les appareils ou les applications de gestion et de surveillance peuvent suivre l'état des tâches en s'abonnant à ces rubriques.

**Comment activer les événements d'emploi**  
Les messages de réponse du service AWS IoT Jobs ne passent pas par le courtier de messages et ne peuvent pas être souscrits par d'autres clients ou règles. Pour vous abonner aux messages liés aux activités professionnelles, utilisez les rubriques `notify` et `notify-next`. Pour plus d'informations sur les rubriques des tâches, consultez [Rubriques de tâche](reserved-topics.md#reserved-topics-job).

Pour être informé des mises à jour des tâches, activez ces événements de tâches à l'aide de AWS Management Console, ou à l'aide de l'API ou de la CLI. Pour de plus amples informations, veuillez consulter [Activez les événements pour AWS IoT](iot-events.md#iot-events-enable).

**Comment fonctionnent les événements des tâches**  
Comme l'annulation ou la suppression de tâches peut prendre un certain temps, deux messages sont envoyés pour indiquer le début et la fin d'une demande. Par exemple, lorsqu'une demande d'annulation démarre, un message est envoyé à la rubrique `$aws/events/job/jobID/cancellation_in_progress`. Lorsque la demande d'annulation est terminée, un message est envoyé à la rubrique `$aws/events/job/jobID/canceled`.

Le processus est le même pour une requête de suppression de tâche. Les applications de gestion et de surveillance peuvent effectuer le suivi de l'état des tâches en s'abonnant à ces rubriques. Pour plus d'informations sur la publication et l'abonnement aux rubriques MQTT, consultez [Protocoles de communication des appareils](protocols.md).

**Types d'événements de tâche**  
Les exemples suivants montrent les différents types d'événements liés aux emplois :

**Job Completed/Canceled/Deleted**  
Le service AWS IoT Jobs publie un message sur un sujet MQTT lorsqu'une tâche est terminée, annulée, supprimée ou lorsque l'annulation ou la suppression sont en cours :  
+ `$aws/events/job/jobID/completed`
+ `$aws/events/job/jobID/canceled`
+ `$aws/events/job/jobID/deleted`
+ `$aws/events/job/jobID/cancellation_in_progress`
+ `$aws/events/job/jobID/deletion_in_progress`
Le message `completed`contient l'exemple de charge utile suivant :  

```
{
  "eventType": "JOB",
  "eventId": "7364ffd1-8b65-4824-85d5-6c14686c97c6",
  "timestamp": 1234567890,
  "operation": "completed",
  "jobId": "27450507-bf6f-4012-92af-bb8a1c8c4484",
  "status": "COMPLETED",
  "targetSelection": "SNAPSHOT|CONTINUOUS",
  "targets": [
    "arn:aws:iot:us-east-1:123456789012:thing/a39f6f91-70cf-4bd2-a381-9c66df1a80d0",
    "arn:aws:iot:us-east-1:123456789012:thinggroup/2fc4c0a4-6e45-4525-a238-0fe8d3dd21bb"
  ],
  "description": "My Job Description",
  "completedAt": 1234567890123,
  "createdAt": 1234567890123,
  "lastUpdatedAt": 1234567890123,
  "jobProcessDetails": {
    "numberOfCanceledThings": 0,
    "numberOfRejectedThings": 0,
    "numberOfFailedThings": 0,
    "numberOfRemovedThings": 0,
    "numberOfSucceededThings": 3
  }
}
```
Le message `canceled` contient l'exemple de charge utile suivant.  

```
{
  "eventType": "JOB",
  "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
  "timestamp": 1234567890,
  "operation": "canceled",
  "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
  "status": "CANCELED",
  "targetSelection": "SNAPSHOT|CONTINUOUS",
  "targets": [
    "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
    "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
  ],
  "description": "My job description",
  "createdAt": 1234567890123,
  "lastUpdatedAt": 1234567890123
}
```
Le message `deleted` contient l'exemple de charge utile suivant.  

```
{
      "eventType": "JOB",
      "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
      "timestamp": 1234567890,
      "operation": "deleted",
      "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
      "status": "DELETED",
      "targetSelection": "SNAPSHOT|CONTINUOUS",
      "targets": [
        "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
        "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
      ],
      "description": "My job description",
      "createdAt": 1234567890123,
      "lastUpdatedAt": 1234567890123,
      "comment": "Comment for this operation"
    }
```
Le message `cancellation_in_progress`contient l'exemple de charge utile suivant :  

```
{
      "eventType": "JOB",
      "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
      "timestamp": 1234567890,
      "operation": "cancellation_in_progress",
      "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
      "status": "CANCELLATION_IN_PROGRESS",
      "targetSelection": "SNAPSHOT|CONTINUOUS",
      "targets": [
        "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
        "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
      ],
      "description": "My job description",
      "createdAt": 1234567890123,
      "lastUpdatedAt": 1234567890123,
      "comment": "Comment for this operation"
    }
```
Le message `deletion_in_progress`contient l'exemple de charge utile suivant :  

```
{
      "eventType": "JOB",
      "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
      "timestamp": 1234567890,
      "operation": "deletion_in_progress",
      "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
      "status": "DELETION_IN_PROGRESS",
      "targetSelection": "SNAPSHOT|CONTINUOUS",
      "targets": [
        "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
        "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
      ],
      "description": "My job description",
      "createdAt": 1234567890123,
      "lastUpdatedAt": 1234567890123,
      "comment": "Comment for this operation"
    }
```

**Statut terminal de l'exécution d'une tâche**  
Le service AWS IoT Jobs publie un message lorsqu'un appareil met à jour l'exécution d'une tâche à l'état du terminal :  
+ `$aws/events/jobExecution/jobID/succeeded`
+ `$aws/events/jobExecution/jobID/failed`
+ `$aws/events/jobExecution/jobID/rejected`
+ `$aws/events/jobExecution/jobID/canceled`
+ `$aws/events/jobExecution/jobID/timed_out`
+ `$aws/events/jobExecution/jobID/removed`
+ `$aws/events/jobExecution/jobID/deleted`
Le message contient l'exemple de charge utile suivant :  

```
{
  "eventType": "JOB_EXECUTION",
  "eventId": "cca89fa5-8a7f-4ced-8c20-5e653afb3572",
  "timestamp": 1234567890,
  "operation": "succeeded|failed|rejected|canceled|removed|timed_out",
  "jobId": "154b39e5-60b0-48a4-9b73-f6f8dd032d27",
  "thingArn": "arn:aws:iot:us-east-1:123456789012:myThing/6d639fbc-8f85-4a90-924d-a2867f8366a7",
  "status": "SUCCEEDED|FAILED|REJECTED|CANCELED|REMOVED|TIMED_OUT",
  "statusDetails": {
    "key": "value"
  }
}
```