AWS IoT Device SDK C: Shadow
AWS IoT Device Shadow library
Return to main page ↑
Shadow Documentation

AWS IoT Device Shadow library.

A device's shadow is a JSON document that is used to store and retrieve current state information for a device. The Device Shadow service maintains a shadow for each device you connect to AWS IoT. You can use the shadow to get and set the state of a device over MQTT or HTTP, regardless of whether the device is connected to the Internet. Each device's shadow is uniquely identified by the name of the corresponding thing.

Description of Device Shadows from AWS IoT documentation

Thing Shadows are the always-available device state in the AWS cloud. They are stored as JSON documents, and available via AWS even if the associated device goes offline. Common use cases for Thing Shadows include backing up device state, or sending commands to devices.

This library provides an API for interacting with AWS IoT Thing Shadows. Features of this library include:

  • Both fully asynchronous and blocking API functions.
  • API functions for modifying Thing Shadows and for registering notifications of a Thing Shadow change.

Dependencies

Dependencies of the Shadow library.

dot_inline_dotgraph_1.png
Shadow direct dependencies

Currently, the Shadow library has the following dependencies:

  • The MQTT library for sending the messages that interact with the Thing Shadow service. See this page for the dependencies of the MQTT library, which are not shown in the graph above.
  • The queue library for maintaining the data structures for managing in-progress Shadow operations.
  • The logging library may be used if AWS_IOT_LOG_LEVEL_SHADOW is not IOT_LOG_NONE.

In addition to the components above, the Shadow library also depends on C standard library headers.