The latest service update of Bosch IoT Things comes with various changes:
- Optional time limit in policy
- Customize the search index per namespace
- Updated default header mapping for connections
- Eclipse Ditto Client 1.5.1
Optional time limit in policy
In each policy entry, you can add an expiry date to limit the validity for a specific subject.
Once the timestamp defined in the expiry field is reached, Bosch IoT Things will automatically delete the specific subject field and thus prohibit access to the specific subject.
The timestamp is set as string in ISO-8601 format. For simplicity, we will round it up to the next full hour.
Example: see Optional-time-limit-in-policy.html
Find more details at Policy > Subject expiry.
Customize the search index per namespace
The Things UI and API offers the possibility to define which fields of the things to be included in the search index. This information is managed per namespace.
The fields thingId, policyId, definition, attributes and _created are indexed per default. This allows an out-of-the-box possibility to filter on these fields and always allows the search with an empty filter.
However, using the new dialog at Manage the search index of a namespace you can customize the index per namespace. The user interface provides various options:
- Minimal: includes thingId and _created
- Default: includes thingId, policyId, definition, attributes and _created
- Complete: includes all indexable fields
- Custom: includes thingId, _created, and some of fields of your choice.
Example with a customized search index
The search fields can also be defined using the Things HTTP API with the “/solutions/{solutionId}/namespaces/...” resources.
Find more details regarding the search function at Search resources.
Tip: A namespace that has been created before this update will not be changed automatically to the new defaults, and will thus continue indexing all fields. However, please respect the new settings in case you create a new namespace for an old solution.
Updated default header mapping for connections
Connection sources and targets used to contain a header mapping content-type: {{header:content-type}} per default setting.
This led to mismatches when used together with payload mapping. Therefore the mapping will no longer be added as default for new connections. Old connections will still behave as known.
We encourage setting the content-type in the payload mapping rather than the header mapping.
As a result, the content-type default mapping is no longer part of the UI modules, but can of course be added if needed. It is also no longer part of the default for connections that are created via an API request and don’t contain an explicit header mapping for connection targets.
It is possible to add the old header mapping into each target of the create connection requests:
// connection json { "targets":[{ "headerMapping": { "content-type": "{{header:content-type}}", "correlation-id": "{{header:correlation-id}}", "reply-to": "{{header:reply-to}}" }, // ... }] // ... }
Eclipse Ditto Client 1.5.1
Latest bug-fixes in Ditto Clients are available with version 1.5.1.
See the original release notes.
In addition, various minor bugs have also been fixed.