AWS IoT Jobs v1.3.0
Client library for AWS IoT Jobs

AWS IoT Jobs client library, part of the AWS IoT Device SDK for Embedded C

AWS IoT jobs can be used to define a set of remote operations that are sent to and executed on one or more devices connected to AWS IoT. For documentation of the service, please see the AWS IoT Developer Guide. Interactions with the jobs service use MQTT, a lightweight publish-subscribe protocol. This library provides a convenience API to compose and recognize the MQTT topic strings used by the jobs service. The library is written in C and designed to be compliant with ISO C90 and MISRA C:2012. It has proofs showing safe memory use and no heap allocation, making it suitable for IoT microcontrollers, but also fully portable to other platforms.

NOTE: If your application uses both AWS IoT Jobs library and OTA library to communicate with AWS IoT through a shared MQTT connection, we suggest that you keep the application logic that uses these libraries within a single task/thread. As the OTA agent also makes calls to the AWS IoT Jobs service, keeping the use of libraries within the same thread context will avoid complexity of synchronizing communication with AWS IoT Jobs topics between multiple tasks/threads. However, if you choose to use different tasks/threads for calling these libraries, please be aware that the OTA library will subscribe and configurably, unsubscribe from AWS IoT Jobs topics, and also attempt to send status updates for incoming non-OTA jobs, if your application configures the OTA library to handle custom jobs.

Memory Requirements

Memory requirements of the jobs library.

Code Size of AWS IoT Jobs (example generated with GCC for ARM Cortex-M)
With -O1 Optimization
With -Os Optimization
Total estimates