Device Shadow is the virtual representation of your physical Device. As per AWS IoT Platform is concerned, we create a Thing in AWS IoT Console. Things are nothing but the Devices, those are connected to AWS IoT Platform.
It is a JSON document that is used to store and access current state information for a device. This service maintains a shadow (virtual Device State) for each and every device you connect to AWS IoT Platform. We can use the shadow document to get the current state of the device and based on that state, we can take action on the device, we can also monitor and control our Devices based on our needs over (MQTT or HTTP) protocols, regardless of whether the device is connected to the Internet. Each device’s shadow is uniquely identified by the name of the corresponding Thing(Device associated with).
Device Shadow service acts as a communication medium between your device and application. As this service provides different MQTT topics (or) RESTful API to interact with device. Using these MQTT topics (or) RESTful API we can also get, update and delete Shadow Document.