Versioning and entity modeling - AWS IoT Things Graph

Versioning and entity modeling

AWS IoT Things Graph enables you to create different versions of your namespace. If you change one or more of the entities in your namespace in ways that aren't compatible with existing deployments, AWS IoT Things Graph creates a new version of your namespace. Because each instance of a workflow (flow) is associated with a namespace version, existing deployments of a flow continue to work because they're associated with earlier versions of the namespace.

Uploading entities

The UploadEntityDefinitions API takes two optional parameters that enable you to create versions of your namespace. If you set the value of the deprecateExistingEntities parameter to true, AWS IoT Things Graph deprecates all of the existing entities in the current version of your namespace before it uploads the new entity definitions. This creates a new version of your namespace.

Synchronizing with the public namespace

If you set the value of the syncWithPublicNamespace parameter to true, AWS IoT Things Graph synchronizes your namespace with the latest version of the public namespace. Because this might introduce incompatibilities with the entity definitions that existing flow deployments use, AWS IoT Things Graph creates a new version of your namespace.

Existing deployments of flows that use deprecated or updated entity definitions continue to work because they're associated with earlier versions of the namespace.

If you add any entity definitions from your private namespace to the public namespace, you must update your own flows to use the version of the entity that's in the public namespace.

For more information about namespaces, see AWS IoT Things Graph namespaces.