Skip to content

(configuration): Synchronize all Named Shadows for Thing #124

@AdamVD

Description

@AdamVD

Feature Description
A configuration option to synchronize all the Named Shadows for a Thing, so that the Shadow Manager configuration does not need to be updated when new Shadows are created.

Use Case
We manage a lot of our data through Shadows attached to our core devices, and we have some data sets that need to dynamically scale beyond the 8KB size limit (I know it can increase to 30KB with quotas). We enumerate our Shadows when we go beyond the size limit of a single document, so we might start with FooShadow0 but end up with FooShadow1 and FooShadow2 after a while of normal operation. We also regularly add new Shadows to support new devices or capabilities in our application.

It's not trivial to automatically reconfigure the Shadow Manager when we dynamically scale out a set of Shadows at runtime. These new Shadows could be created either in the cloud or on the Greengrass core during operation.

Proposed Solution
The Shadow Manager can periodically check IoT Core for new Shadows that are created in the cloud (list-named-shadows-for-thing) and then begin synchronizing automatically. Similarly, any new local Shadow can be automatically added to the sync process.

An exclude list could be added so that you can choose which Shadows not to sync, although this isn't important in our use case yet. The allNamedShadows (bool) + excludeShadows (list) combination would need to be mutually exclusive with the existing namedShadows list.

  • 👋 I may be able to implement this feature request
  • ⚠️ This feature might incur a breaking change

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions