The AWS IoT Device Shadow service adds shadows to AWS IoT thing objects. Shadows are a simple data store for device properties and state. Shadows can make a device’s state available to apps and other services whether the device is connected to AWS IoT or not.

AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html

Hierarchy

  • IotShadowClient

Constructors

Methods - IotShadow

  • Deletes a named shadow for an AWS IoT thing.

    If the device is offline, the PUBLISH packet will be sent once the connection resumes.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-pub-sub-topic

    Parameters

    • request: DeleteNamedShadowRequest

      Message to be serialized and sent

    • qos: QoS

      Quality of Service for delivering this message

    Returns Promise<MqttRequest>

    Promise which returns a mqtt.MqttRequest which will contain the packet id of the PUBLISH packet.

    • For QoS 0, completes as soon as the packet is sent.
    • For QoS 1, completes when PUBACK is received.
    • QoS 2 is not supported by AWS IoT.
  • Deletes the (classic) shadow for an AWS IoT thing.

    If the device is offline, the PUBLISH packet will be sent once the connection resumes.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-pub-sub-topic

    Parameters

    • request: DeleteShadowRequest

      Message to be serialized and sent

    • qos: QoS

      Quality of Service for delivering this message

    Returns Promise<MqttRequest>

    Promise which returns a mqtt.MqttRequest which will contain the packet id of the PUBLISH packet.

    • For QoS 0, completes as soon as the packet is sent.
    • For QoS 1, completes when PUBACK is received.
    • QoS 2 is not supported by AWS IoT.
  • Gets a named shadow for an AWS IoT thing.

    If the device is offline, the PUBLISH packet will be sent once the connection resumes.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-pub-sub-topic

    Parameters

    • request: GetNamedShadowRequest

      Message to be serialized and sent

    • qos: QoS

      Quality of Service for delivering this message

    Returns Promise<MqttRequest>

    Promise which returns a mqtt.MqttRequest which will contain the packet id of the PUBLISH packet.

    • For QoS 0, completes as soon as the packet is sent.
    • For QoS 1, completes when PUBACK is received.
    • QoS 2 is not supported by AWS IoT.
  • Gets the (classic) shadow for an AWS IoT thing.

    If the device is offline, the PUBLISH packet will be sent once the connection resumes.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-pub-sub-topic

    Parameters

    • request: GetShadowRequest

      Message to be serialized and sent

    • qos: QoS

      Quality of Service for delivering this message

    Returns Promise<MqttRequest>

    Promise which returns a mqtt.MqttRequest which will contain the packet id of the PUBLISH packet.

    • For QoS 0, completes as soon as the packet is sent.
    • For QoS 1, completes when PUBACK is received.
    • QoS 2 is not supported by AWS IoT.
  • Update a named shadow for a device.

    If the device is offline, the PUBLISH packet will be sent once the connection resumes.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-pub-sub-topic

    Parameters

    • request: UpdateNamedShadowRequest

      Message to be serialized and sent

    • qos: QoS

      Quality of Service for delivering this message

    Returns Promise<MqttRequest>

    Promise which returns a mqtt.MqttRequest which will contain the packet id of the PUBLISH packet.

    • For QoS 0, completes as soon as the packet is sent.
    • For QoS 1, completes when PUBACK is received.
    • QoS 2 is not supported by AWS IoT.
  • Update a device's (classic) shadow.

    If the device is offline, the PUBLISH packet will be sent once the connection resumes.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-pub-sub-topic

    Parameters

    • request: UpdateShadowRequest

      Message to be serialized and sent

    • qos: QoS

      Quality of Service for delivering this message

    Returns Promise<MqttRequest>

    Promise which returns a mqtt.MqttRequest which will contain the packet id of the PUBLISH packet.

    • For QoS 0, completes as soon as the packet is sent.
    • For QoS 1, completes when PUBACK is received.
    • QoS 2 is not supported by AWS IoT.
  • Subscribes to the accepted topic for the DeleteNamedShadow operation.

    subscribeToDeleteNamedShadowAccepted may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-accepted-pub-sub-topic

    Parameters

    • request: DeleteNamedShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the rejected topic for the DeleteNamedShadow operation.

    subscribeToDeleteNamedShadowRejected may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-rejected-pub-sub-topic

    Parameters

    • request: DeleteNamedShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the accepted topic for the DeleteShadow operation

    subscribeToDeleteShadowAccepted may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-accepted-pub-sub-topic

    Parameters

    • request: DeleteShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the rejected topic for the DeleteShadow operation

    subscribeToDeleteShadowRejected may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-rejected-pub-sub-topic

    Parameters

    • request: DeleteShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the accepted topic for the GetNamedShadow operation.

    subscribeToGetNamedShadowAccepted may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-accepted-pub-sub-topic

    Parameters

    • request: GetNamedShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the rejected topic for the GetNamedShadow operation.

    subscribeToGetNamedShadowRejected may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-rejected-pub-sub-topic

    Parameters

    • request: GetNamedShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the accepted topic for the GetShadow operation.

    subscribeToGetShadowAccepted may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-accepted-pub-sub-topic

    Parameters

    • request: GetShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the rejected topic for the GetShadow operation.

    subscribeToGetShadowRejected may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-rejected-pub-sub-topic

    Parameters

    • request: GetShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribe to NamedShadowDelta events for a named shadow of an AWS IoT thing.

    subscribeToNamedShadowDeltaUpdatedEvents may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-delta-pub-sub-topic

    Parameters

    • request: NamedShadowDeltaUpdatedSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribe to ShadowUpdated events for a named shadow of an AWS IoT thing.

    subscribeToNamedShadowUpdatedEvents may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-documents-pub-sub-topic

    Parameters

    • request: NamedShadowUpdatedSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribe to ShadowDelta events for the (classic) shadow of an AWS IoT thing.

    subscribeToShadowDeltaUpdatedEvents may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-delta-pub-sub-topic

    Parameters

    • request: ShadowDeltaUpdatedSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribe to ShadowUpdated events for the (classic) shadow of an AWS IoT thing.

    subscribeToShadowUpdatedEvents may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-documents-pub-sub-topic

    Parameters

    • request: ShadowUpdatedSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the accepted topic for the UpdateNamedShadow operation

    subscribeToUpdateNamedShadowAccepted may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-accepted-pub-sub-topic

    Parameters

    • request: UpdateNamedShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the rejected topic for the UpdateNamedShadow operation

    subscribeToUpdateNamedShadowRejected may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-rejected-pub-sub-topic

    Parameters

    • request: UpdateNamedShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the accepted topic for the UpdateShadow operation

    subscribeToUpdateShadowAccepted may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-accepted-pub-sub-topic

    Parameters

    • request: UpdateShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

  • Subscribes to the rejected topic for the UpdateShadow operation

    subscribeToUpdateShadowRejected may be called while the device is offline, though the async operation cannot complete successfully until the connection resumes.

    Once subscribed, messageHandler is invoked each time a message matching the topic is received. It is possible for such messages to arrive before the SUBACK is received.

    AWS documentation: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-rejected-pub-sub-topic

    Parameters

    • request: UpdateShadowSubscriptionRequest

      Subscription request configuration

    • qos: QoS

      Maximum requested QoS that server may use when sending messages to the client. The server may grant a lower QoS in the SUBACK

    • messageHandler: ((error?, response?) => void)

      Callback invoked when message or error is received from the server.

    Returns Promise<MqttSubscribeRequest>

    Promise which returns a mqtt.MqttSubscribeRequest which will contain the result of the SUBSCRIBE. The Promise resolves when a SUBACK is returned from the server or is rejected when an exception occurs.

Methods - Other

  • Creates a new IotShadowClient that uses the SDK Mqtt5 client internally.

    The pre-existing constructor that is bound to the MQTT311 client makes this awkward since we must support

    new IotShadowClient(mqtt311connection);
    

    for backwards compatibility, but still want to be able to inject an MQTT5 client as well.

    Parameters

    • client: Mqtt5Client

      the MQTT5 client to use with this service client

    Returns IotShadowClient

    a new IotShadowClient instance

Generated using TypeDoc