Note: You are viewing the documentation for an older major version of the AWS CLI (version 1).

AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. For more information see the AWS CLI version 2 installation instructions and migration guide.

[ aws . iot-data ]



Updates the shadow for the specified thing.

Requires permission to access the UpdateThingShadow action.

For more information, see UpdateThingShadow in the IoT Developer Guide.

See also: AWS API Documentation

See 'aws help' for descriptions of global parameters.


For production code it is strongly recommended to use the custom endpoint for your account (retrievable via the iot describe-endpoint command) to ensure best availability and reachability of the service. The default endpoints (intended for testing purposes only) can be found at


--thing-name <value>
[--shadow-name <value>]
--payload <value>


--thing-name (string)

The name of the thing.

--shadow-name (string)

The name of the shadow.

--payload (blob)

The state information, in JSON format.

outfile (string) Filename where the content will be saved

See 'aws help' for descriptions of global parameters.


To update a thing shadow

The following update-thing-shadow example modifies the current state of the device shadow for the specified thing and saves it to the file output.txt.

aws iot-data update-thing-shadow \
    --thing-name MyRPi \
    --payload "{"state":{"reported":{"moisture":"okay"}}}" \

The command produces no output on the display, but the following shows the contents of output.txt:

    "state": {
        "reported": {
            "moisture": "okay"
    "metadata": {
        "reported": {
            "moisture": {
                "timestamp": 1560270036
    "version": 2,
    "timestamp": 1560270036

For more information, see Device Shadow Service Data Flow in the AWS IoT Developers Guide.


payload -> (blob)

The state information, in JSON format.