Advanced Configurations

Data Connectors can through configuration be tailored to fit more custom use-cases.

Preliminaries

Before diving into how to configure a Data Connector, there are a few things worth keeping in mind when working with them.

  • Multiple Projects Data Connectors are created and configured on a per-Project basis. If you want multiple Projects to send data to the same Endpoint URL, you have to create one Data Connector per Project.

  • Access Control To create, update, and delete a Data Connector, your DT Studio User or Service Account must have the role of Project Developer or higher.

  • API Access Our REST API contains Data Connector related methods under the /projects/{project}/dataconnectors endpoints.

  • Multiple Data Connectors All Data Connectors in a project will receive events from all the devices in that project.

Enable and Disable

It is possible to enable and disable a Data Connector by toggling the Enable Data Connector. Remember to press UPDATE CONFIGURATION afterward.

A Data Connector will be automatically disabled by DT Cloud if it has failed for an extended period of time without any success. A push-attempt from a Data Connector is considered a failure if the receiver responded with a non-200 status code, or didn’t respond at all. A Data Connector that is disabled by DT Cloud will get the status SYSTEM_DISABLED.

Disabled Data Connectors have no at-least-once guarantee.

When a Data Connector is disabled, undelivered events and events generated after being disabled will not be sent. Re-enabling the Data Connector will not backfill data from the period it was disabled and must be fetched programmatically using our REST API.

Filtering Event Types

By default, all types of device events are forwarded. By unchecking Forward All Events, the Data Connector in question will only forward those specified.

Including Labels

You can include Labels held by a Sensor or Cloud Connectors with each event forwarded by the Data Connector by simply appending it in the configuration. The label name is included by default and refers to the display-name of the event's source device, but can be safely removed if desired.

Adding HTTP Headers

Custom HTTP headers can be added via the CUSTOM HTTP REQUEST HEADERS option by providing a header name and value. Custom headers will be included with all events.

Signing Events

For increased security in a production integration, we recommend signing each Event with a Signature Secret that can be verified on the receiving end.

  • The HTTP header includes a JSON Web Token (JWT) signed with the Signature Secret.

  • The JWT payload contains the checksum of the request body.

This allows you to both validate the origin and content integrity of the received request for a more secure connection. The process is two-fold and must be configured for both the Data Connector and endpoint.

Signing Events Sent by the Data Connector

Under the Data Connector configuration page, simply add a Signature Secret to the field as shown below. This is applied to all future requests and should be a strong and unique password.

Verifying Received Events

The process of verifying received events signed by a Signature Secret at your endpoint is explained and accompanied by an example implementation at the Receiving Events page.

Synchronize

When synchronizing the Data Connector, the state of each device currently in the project will be sent as events. These events will be dated back in time to when they were reported from the device, though the event id will be different. This feature is available through both DT Studio and the REST API.