How are AWS IOT Jobs different to Topic subscription?

332 views Asked by At

In AWS IOT we can make device subscribe to a topic. When a message is received on a topic, the device can be programmed to execute some code.

AWS IOT Jobs seems similar in that the device listens on the job and executes certain code when job is received.

How are AWS IOT Jobs different to Topic subscription?

2

There are 2 answers

0
Bobshark On

The primary purpose of jobs is to notify devices of a software or firmware update.

AWS IOT Job Doc

AWS IOT Events activities (like subscribing to a topic) would be the generic implementation for doing stuff when a device gets a message. IOT jobs are more of a managed workflow for doing a specific activity- like notifying devices of a firmware update and using CodeSigning.

0
Martin Löper On

Just want to add an important point to what @Bobshark wrote.

Yes, Amazon engineers implemented a set of endpoints to manage a whole job lifecycle on a single device and the process of gradually rolling out jobs over a fleet of devices.

However, IoT jobs are not tied down to using MQTT as the transport protocol. As the AWS docs [1] mention:

Devices can communicate with the AWS IoT Jobs service through these methods:

  • MQTT
  • HTTP Signature Version 4
  • HTTP TLS

My personal advice: Use jobs if you would have to implement your own update procedure (such as progress reporting, gradual rollouts, etc.) otherwise.

[1] https://docs.aws.amazon.com/iot/latest/developerguide/jobs-devices.html