January 19, 2021 - Bosch IoT Things - service update

Our first service release in 2021 comes with various improvements:

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, the Things service will automatically delete the specific subject field and thus prohibit the access for 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 https://docs.bosch-iot-suite.com/asset-communication/Policy-examples.html

Find more details at Policy > Subject expiry.


Custom 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 the fields of your choice.

Example with customized search index search index

The search fields can also be defined using the Things HTTP API with the “/solutions/{solutionId}/namespaces/...” resources.

Find more details regarding search 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 modals, 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 to the create connection requests into each target:

// 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 original release notes at https://www.eclipse.org/ditto/release_notes_151.html.


At this occasion, various minor bugs have also been fixed.

Corporate information Data protection notice Legal information Support Free plans