LitmusEdge 4.0.x API Documentation/Integration/Create Instance - Provider Examples - LE, LEM, LUNS API Docs
Create Instance - MQTT - Generic
POST {{edgeUrl}}/cc/v2
Overview
The MQTT Generic integration enables Edge System to connect to the MQTT broker.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Client id | Unique client identity | Yes |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publishing | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Mosquitto Message Broker | 1.x | Nov 14, 2019 |
| HiveMQ | 2.x | Nov 14, 2019 |
Provider ID: generic-mqtt-tcp
Provider Name: MQTT - Generic
Required properties:
- name string — Name: Instance Name
- hostname string — Hostname: DNS name of MQTT host.
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
Optional properties:
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- clientId string — Client ID: Client ID is required by MQTT server.
- willPayload string — LWT payload: MQTT LWT payload
- port integer — Port: Port of MQTT host.
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- topic string — Integration Topic: MQTT topic
- password string — Password: The password
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- username string — Username: The username
- willRetained boolean — LWT retained: MQTT LWT retained
- willTopic string — LWT topic: MQTT LWT topic
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "generic-mqtt-tcp",
"Config": "{\"name\": \"My MQTT - Generic Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "generic-mqtt-tcp",
"Config": "{\"name\": \"My MQTT - Generic Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - AMQP SSL
POST {{edgeUrl}}/cc/v2
Overview
AMQP SSL Integration enables Edge System to connect with AMQP broker via SSL.
Supported Versions
Supports RabbitMQ versions starting with 2.0 but primarily tested against recent 3. x releases. Some features and behaviors may be server-version specific.
Supported Communication
-
Outbound (Publish data from Edge to AMQP broker) - Yes
-
Inbound (Subscribe data from AMQP broker to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or hostname of AMQP broker (Must be reachable from Edge system) | Yes |
| Port | AMQP broker port | Yes |
| Virtual host | specifies the namespace of permissions, exchanges, queues and bindings on the server | No |
| Username | Username | No |
| Password | Password | No |
| Exchange | AMQP exchange | No |
| Exchange type | can be one of "direct", "fanout", "topic", "x-custom" | No |
| Exchange durable | [*] | No |
| Exchange auto delete | [*] | No |
| Exchange internal | [*] | No |
| Exchange no wait | [*] | No |
| Routing key | AMQP routing key | Yes |
| ISO8601 timestamp | Convert a message timestamp into ISO8601 format before send | No |
| CA Certificate | SSL CA Certificate | Yes |
| Certificate | Self-signed SSL certificate | No |
| Private key | SSL private Key | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
[*] Exchange names starting with "amq." are reserved for pre-declared and standardized exchanges. The client MAY declare an exchange starting with "amq." if the passive option is set, or the exchange already exists. Names can consist of a non-empty sequence of letters, digits, hyphen, underscore, period, or colon.
Each exchange belongs to one of a set of exchange kinds/types implemented by the server. The exchange types define the functionality of the exchange - i.e. how messages are routed through it. Once an exchange is declared, its type cannot be changed. The common types are "direct", "fanout", "topic" and "headers".
Durable and Non-Auto-Deleted exchanges survive server restarts and remain declared when there are no remaining bindings. These selections are best for long-lived exchange configurations like stable routes and default exchanges.
Non-Durable and Auto-Deleted exchanges are deleted when there are no remaining bindings and not restored on server restart. These selections are useful for temporary topologies that should not pollute the virtual host on failure or after the consumers have completed.
Non-Durable and Non-Auto-deleted exchanges remain while the server is running, including when there are no remaining bindings. These selections are useful for temporary topologies that may have long delays between bindings.
Durable and Auto-Deleted exchanges survive server restarts and are removed before and after server restarts when there are no remaining bindings. These selections are useful for robust temporary topologies or when you require binding durable queues to auto-deleted exchanges.
Note: RabbitMQ declares the default exchange types like 'amq.fanout' as durable, so queues that bind to these pre-declared exchanges must also be durable.
Exchanges declared as internal do not accept publishings. Internal exchanges are useful when you wish to implement inter-exchange topologies that should not be exposed to users of the broker.
When No Wait is selected, you can continue without waiting for a confirmation from the server. The channel may be closed because of an error. Add a NotifyClose listener to respond to any exceptions.AMQP TCP connector Readme
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version |
|---|---|
| RabbitMQ | 3.12 |
Provider ID: amqp-ssl
Provider Name: AMQP SSL
Required properties:
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- port integer — Port: Port number
- hostname string — Hostname
- name string — Name: Instance Name
- routingKey string — Routing key
Optional properties:
- exchange string — Exchange
- exchangeDurable boolean — Exchange durable
- throttlingLimit integer — Throttling limit
- username string — Username
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- certificate string — Certificate: Certificate can be added here.
- exchangeInternal boolean — Exchange internal
- exchangeNoWait boolean — Exchange no wait
- iso8601Timestamp boolean — ISO8601 timestamp: Convert timestamp to ISO8601
- password string — Password
- privateKey string — Private key: Private key can be added here.
- exchangeAutoDelete boolean — Exchange auto delete
- exchangeType string — exchangeType: Exchange type
Options: direct, fanout, topic, x-custom
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- virtualHost string — Virtual host: Virtual hostname
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "amqp-ssl",
"Config": "{\"name\": \"My AMQP SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5671, \"virtualHost\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"password\", \"exchange\": \"placeholder_exchange\", \"exchangeType\": \"direct\", \"exchangeDurable\": true, \"exchangeAutoDelete\": false, \"exchangeInternal\": false, \"exchangeNoWait\": false, \"routingKey\": \"<certificate>\", \"iso8601Timestamp\": false, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "amqp-ssl",
"Config": "{\"name\": \"My AMQP SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5671, \"virtualHost\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"password\", \"exchange\": \"placeholder_exchange\", \"exchangeType\": \"direct\", \"exchangeDurable\": true, \"exchangeAutoDelete\": false, \"exchangeInternal\": false, \"exchangeNoWait\": false, \"routingKey\": \"<certificate>\", \"iso8601Timestamp\": false, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - AWS IoT Core - MQTT Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The AWS IoT Core MQTT Gen 2 connector enables Edge System to connect with Amazon AWS IoT Core over SSL using the V2 architecture.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Certificate | SSL Certificate | Yes |
| Private key | SSL certificate private key | Yes |
| Client id | Unique client identity | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe | Yes |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Amazon AWS | N/A | N/A |
Provider ID: aws-iot-core-mqtt-gen-2
Provider Name: AWS IoT Core - MQTT Gen 2
Required properties:
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- certificate string — Certificate: Certificate can be added here.
- privateKey string — Private key: Private key can be added here.
- hostname string — Hostname: DNS name of MQTT host.
- name string — Name: Instance Name
- topic string — Integration Topic: MQTT topic
Optional properties:
- caCert string — CA Certificate: Amazon Root CA certificate (optional - uses system trust store if not provided).
- clientId string — Client ID: Client ID is required by MQTT server.
- persistentStorage boolean — Persistent storage
- port integer — Port: Port of MQTT host.
- willPayload string — LWT payload: MQTT LWT payload
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- willTopic string — LWT topic: MQTT LWT topic
- willRetained boolean — LWT retained: MQTT LWT retained
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "aws-iot-core-mqtt-gen-2",
"Config": "{\"name\": \"My AWS IoT Core - MQTT Gen 2 Integration\", \"hostname\": \"a1o8e9c82gegra.iot.us-east-2.amazonaws.com\", \"port\": 8883, \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"caCert\": \"<certificate>\", \"clientId\": \"my-client-id\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"/events\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "aws-iot-core-mqtt-gen-2",
"Config": "{\"name\": \"My AWS IoT Core - MQTT Gen 2 Integration\", \"hostname\": \"a1o8e9c82gegra.iot.us-east-2.amazonaws.com\", \"port\": 8883, \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"caCert\": \"<certificate>\", \"clientId\": \"my-client-id\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"/events\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - AWS IoT SiteWise Edge
POST {{edgeUrl}}/cc/v2
Overview
The AWS IoT SiteWise Edge Integration enables Edge system to connect to the MQTT broker in AWS IoT SiteWise Edge Gateway. Seamlessly allow the AWS IoT SiteWise Edge Data Processor & AWS IoT SiteWise Edge Publisher to publish the data into AWS IoT SiteWise
Supported Communication
- Outbound (Publish data from Edge to MQTT Broker) - Yes
- Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Client id | Unique client identity | Yes |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings:
|
Yes |
| PropertyAlias | AWS IoT SiteWise Asset Property Alias | Yes |
| Integration topic | Default topic for Publishing | Yes |
| Additional Alias definition | Optional string to further define dynamic propertyAlias and Integration Topic | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Format Directives
| Symbol | Definition | Context |
|---|---|---|
| $ | Special character indicate a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
| $S | Additional Alias definition | from Connector Settings |
| $D | Device Name | from DeviceHub Tag |
| $N | Tag Name | from DeviceHub Tag |
| $R | Raw Tag Type | from DeviceHub Tag |
| $P | Tag Description | from DeviceHub Tag |
| $H | Hostname | from OS |
| % | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
| %L | Lowercase() | apply to next variable |
| %U | Uppercase() | apply to next variable |
Format Directives Notes
To use a special character in its literal form, enter symbol twice ($$ -> $, %% -> %)
Example "$$$D.%%$N" -> "$deviceABC.%tagXYZ"
Provider ID: aws-sitewise-edge
Provider Name: MQTT - AWS IoT SiteWise Edge
Required properties:
- name string — Instance Name
- clientId string — Client ID: Client ID is required by MQTT server.
- hostname string — Hostname: DNS name of MQTT host.
- topic string — Integration Topic: MQTT topic
- propertyAlias string — Property Alias: AWS IoT Sitewise Asset Property Alias
- port integer — Port: Port of MQTT host.
Optional properties:
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- additionalAliasDefinition string — Additional Alias Definition: Optional string to further define dynamic propertyAlias and Integration Topic
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- willPayload string — LWT payload: MQTT LWT payload
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- throttlingLimit integer — Throttling limit
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- persistentStorage boolean — Persistent storage
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- willTopic string — LWT topic: MQTT LWT topic
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "aws-sitewise-edge",
"Config": "{\"name\": \"My MQTT - AWS IoT SiteWise Edge Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"propertyAlias\": \"placeholder_propertyAlias\", \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"additionalAliasDefinition\": \"placeholder_additionalAliasDefinition\", \"qos\": 1, \"workersCount\": 100, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "aws-sitewise-edge",
"Config": "{\"name\": \"My MQTT - AWS IoT SiteWise Edge Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"propertyAlias\": \"placeholder_propertyAlias\", \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"additionalAliasDefinition\": \"placeholder_additionalAliasDefinition\", \"qos\": 1, \"workersCount\": 100, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Azure IoT Hub using SAS Key over SSL Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The Azure IoT Hub MQTT SAS key integration enables Edge System to connect to the MQTT broker.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Client ID | Unique client identity | No |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Azure Services | N/A | N/A |
Provider ID: azure-iot-hub-sas-gen-2
Provider Name: Azure IoT Hub using SAS Key over SSL Gen 2
Required properties:
- name string — Name: Instance Name
- sasKey string — SAS Key: Primary or secondary shared access key.
- tokenTTL integer — Token TTL (minutes): The token expiry time in minutes
- deviceId string — Device ID: ID of the device as shown in your Azure IoT account.
- hostname string — Hostname: DNS name of MQTT host. It can be found in "Overview" tab of your Azure IoT hub.
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
Optional properties:
- willTopic string — LWT topic: MQTT LWT topic
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- willRetained boolean — LWT retained: MQTT LWT retained
- port integer — Port: Port of MQTT host.
- queueMode string — Queue Mode
Options: lifo, fifo
- topic string — Integration Topic: MQTT topic
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- throttlingLimit integer — Throttling limit
- willPayload string — LWT payload: MQTT LWT payload
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "azure-iot-hub-sas-gen-2",
"Config": "{\"name\": \"My Azure IoT Hub using SAS Key over SSL Gen 2 Integration\", \"hostname\": \"loopedge.azure-devices.net\", \"port\": 8883, \"deviceId\": \"loopedge-000c29dedd9e\", \"sasKey\": \"<certificate>\", \"workersCount\": 16, \"topic\": \"devices/loopedge-000c29dedd9e/messages/events/\", \"tokenTTL\": 1440, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "azure-iot-hub-sas-gen-2",
"Config": "{\"name\": \"My Azure IoT Hub using SAS Key over SSL Gen 2 Integration\", \"hostname\": \"loopedge.azure-devices.net\", \"port\": 8883, \"deviceId\": \"loopedge-000c29dedd9e\", \"sasKey\": \"<certificate>\", \"workersCount\": 16, \"topic\": \"devices/loopedge-000c29dedd9e/messages/events/\", \"tokenTTL\": 1440, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - IBM Watson over SSL
POST {{edgeUrl}}/cc/v2
Overview
The IBM Watson MQTT SSL integration enables Edge System to connect with IBM Watson over SSL.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge ) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection. | No |
| Organization id | The IBM unique six-character organization ID | Yes |
| Device type | Device types are groups of devices that share common characteristics. | Yes |
| Device id | A user-defined string identifier for the device. This ID must be unique within the registry. | Yes |
| Token | Token that was generated when the device was registered with Watson IoT Platform | Yes |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe | Yes |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: ibm-watson-mqtt-ssl
Provider Name: MQTT - IBM Watson over SSL
Required properties:
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- deviceType string — Device Type: Device Type is required by MQTT server.
- orgId string — Organization ID: The unique six-character organization ID
- topic string — Integration Topic: MQTT topic
- deviceId string — Device ID: Device ID is required by MQTT server.
- hostname string — Hostname: DNS name of MQTT host.
- name string — Name: Instance Name
- port integer — Port: Port of MQTT host.
- token string — Token: Token that was generated when the device was registered with Watson IoT Platform.
Optional properties:
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- willPayload string — LWT payload: MQTT LWT payload
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- willRetained boolean — LWT retained: MQTT LWT retained
- willTopic string — LWT topic: MQTT LWT topic
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "ibm-watson-mqtt-ssl",
"Config": "{\"name\": \"My MQTT - IBM Watson over SSL Integration\", \"hostname\": \"{orgId}.messaging.internetofthings.ibmcloud.com\", \"port\": 8883, \"caCert\": \"<certificate>\", \"orgId\": \"my-client-id\", \"deviceType\": \"DeviceType1\", \"deviceId\": \"Device1\", \"token\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"iot-2/evt/status/fmt/json\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "ibm-watson-mqtt-ssl",
"Config": "{\"name\": \"My MQTT - IBM Watson over SSL Integration\", \"hostname\": \"{orgId}.messaging.internetofthings.ibmcloud.com\", \"port\": 8883, \"caCert\": \"<certificate>\", \"orgId\": \"my-client-id\", \"deviceType\": \"DeviceType1\", \"deviceId\": \"Device1\", \"token\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"iot-2/evt/status/fmt/json\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - InfluxDB v1.7.x SSL
POST {{edgeUrl}}/cc/v2
Overview
InfluxDB v1.7.x SSL integration enables Edge System to connect with the InfluxDB v1.7.x database via SSL
Supported Versions
Compatible with InfluxDB 1.x
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Address | InfluxDB database url (e.g., http://localhost:8086) | Yes |
| Database | Database name | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| CA Certificate | SSL CA Certificate | No |
| Certificate | SSL Certificate | No |
| Private key | SSL Private key | No |
| Batch Size | The number of messages to be collected as a batch before inserting into the database | No |
| Batch Commit Time | The time, in seconds, before the next commit, regardless of batch size | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| docker: influxdb | 1.7 | N/A |
Provider ID: influxdb-ssl
Provider Name: DB - InfluxDB v1.7.x SSL
Required properties:
- address string — InfluxDB address
- database string — InfluxDB database name: Database name
- name string — Name: Instance Name
Optional properties:
- password string — Password
- username string — Username
- batchSize integer — Insert batch size: The number of batch messages to insert
- persistentStorage boolean — Persistent storage
- privateKey string — Private key: Private key can be added here.
- queueMode string — Queue Mode
Options: lifo, fifo
- batchCommitTimeSec integer — Insert batch commit time: The time of batch messages to commit
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- certificate string — Certificate: Certificate can be added here.
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "influxdb-ssl",
"Config": "{\"name\": \"My DB - InfluxDB v1.7.x SSL Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "influxdb-ssl",
"Config": "{\"name\": \"My DB - InfluxDB v1.7.x SSL Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Kafka SSL
POST {{edgeUrl}}/cc/v2
Overview
The Kafka SSL integration enables Edge System to connect with the Kafka broker.
Supported Versions
Compatible with Kafka versions from 0.10.1.0 to 2.1.0.
Supported Communication
-
Outbound (Publish data from Edge to Kafka broker) - Yes
-
Inbound (Subscribe data from Kafka broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Brokers | List of Kafka brokers separated by comma (Must be reachable from Edge system) | Yes |
| SASL mechanism | SASL mechanism values include: NONE, SASL_PLAINTEXT. SCRAM-SHA-256, and SCRAM-SHA-512. This field can only be used if username is not empty | Yes |
| Username | User name | No |
| Password | User password | No |
| CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection | No |
| Certificate | SSL Certificate | No |
| Private key | SSL certificate private key | No |
| Insecure skip verify | Insecure Skip Verify controls whether a client verifies the server's certificate chain and host name | No |
| Topic | Default topic for Publish | Yes |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| CloudKarafka | 0.11.0.0 | N/A |
| Confluent | N/A | N/A |
Provider ID: kafka-ssl
Provider Name: Kafka SSL
Required properties:
- brokers string — Brokers list separated by comma
- insecureSkipVerify boolean — Insecure Skip Verify: Insecure Skip Verify controls whether a client verifies the server's certificate chain and host name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- name string — Name: Instance Name
- saslMechanism string — SASL mechanism
Options: NONE, SASL_PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512
- topic string — Topic: The topic name
Optional properties:
- throttlingLimit integer — Throttling limit
- certificate string — Certificate: Certificate can be added here.
- password string — Password: The password
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- username string — Username: The username
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- privateKey string — Private key: Private key can be added here.
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "kafka-ssl",
"Config": "{\"name\": \"My Kafka SSL Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"insecureSkipVerify\": false, \"topic\": \"integration/data\", \"workersCount\": 2000, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "kafka-ssl",
"Config": "{\"name\": \"My Kafka SSL Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"insecureSkipVerify\": false, \"topic\": \"integration/data\", \"workersCount\": 2000, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Litmus UNS
POST {{edgeUrl}}/cc/v2
Overview
The Litmus UNS integration enables Edge System to connect to the Litmus MQTT broker.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to Litmus MQTT Broker) - Yes
-
Inbound (Subscribe data from Litmus MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Litmus UNS Token | Base64 one-time Token to access Litmus UNS endpoint | No |
Compatibility Validation
N/A
Provider ID: litmus-uns
Provider Name: Litmus UNS
Required properties:
- name string — Name: Instance Name
Optional properties:
- UNSClientID string — MQTT Client ID: Litmus UNS MQTT Client ID
- UNSHierarchy string — UNS Hierarchy: UNS Hierarchy levels info
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- insecureSkipVerify boolean — Insecure skip verify
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- token string — Litmus UNS Token: Base64 one-time Token to access Litmus UNS endpoint
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "litmus-uns",
"Config": "{\"name\": \"My Litmus UNS Integration\", \"workersCount\": 100, \"UNSClientID\": \"my-client-id\", \"insecureSkipVerify\": false, \"caCert\": \"<certificate>\", \"UNSHierarchy\": \"\", \"token\": \"password\", \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1, \"jsonConfig\": \"\", \"throttlingLimit\": 0}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "litmus-uns",
"Config": "{\"name\": \"My Litmus UNS Integration\", \"workersCount\": 100, \"UNSClientID\": \"my-client-id\", \"insecureSkipVerify\": false, \"caCert\": \"<certificate>\", \"UNSHierarchy\": \"\", \"token\": \"password\", \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1, \"jsonConfig\": \"\", \"throttlingLimit\": 0}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - Generic Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The MQTT Generic Gen 2 integration enables Edge System to connect to the MQTT broker.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Connection Type | The connection type to broker (TCP/SSL) | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection. | Yes (SSL) |
| Certificate | SSL certificate | Yes (SSL) |
| Private key | SSL certificate private key | Yes (SSL) |
| Client id | Unique client identity | Yes |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publishing | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Mosquitto Message Broker | 1.x | Nov 14, 2019 |
| HiveMQ | 2.x | Nov 14, 2019 |
Provider ID: generic-mqtt-gen-2
Provider Name: MQTT - Generic Gen 2
Required properties:
- hostname string — Hostname: DNS name of MQTT host.
- topic string — Integration Topic: MQTT topic
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- connectionType string — Connection Type: MQTT Connection type
Options: tcp, ssl
- name string — Name: Instance Name
Optional properties:
- password string — Password: The password
- pingTimeout integer — Ping Timeout (seconds): The time a client waits for a ping response from the broker after sending a PINGREQ message
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- willTopic string — LWT topic: MQTT LWT topic
- certificate string — Certificate: Certificate can be added here.
- clientId string — Client ID: Client ID is required by MQTT server.
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- port integer — Port: Port of MQTT host.
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- willPayload string — LWT payload: MQTT LWT payload
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- privateKey string — Private key: Private key can be added here.
- throttlingLimit integer — Throttling limit
- username string — Username: The username
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- willRetained boolean — LWT retained: MQTT LWT retained
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "generic-mqtt-gen-2",
"Config": "{\"name\": \"My MQTT - Generic Gen 2 Integration\", \"connectionType\": \"tcp\", \"hostname\": \"192.168.1.100\", \"port\": 1883, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"pingTimeout\": 7, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "generic-mqtt-gen-2",
"Config": "{\"name\": \"My MQTT - Generic Gen 2 Integration\", \"connectionType\": \"tcp\", \"hostname\": \"192.168.1.100\", \"port\": 1883, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"pingTimeout\": 7, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - MongoDB
POST {{edgeUrl}}/cc/v2
Overview
MongoDB Integration enables Edge System to connect with MongoDB database
Supported Versions
- MongoDB 2.x - MongoDB 3.2
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of MongoDB Server (Must be reachable from Edge system) | Yes |
| Port | MongoDB Server port | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Auth database | Authentication database name (can be empty) | No |
| Auth mechanism | Authentication mechanism (can be one of "SCRAM-SHA-1", "MONGODB-CR", "MONGO-CR", "PLAIN", "MONGODB-X509") | No |
| Database | Database name. If database does not exist it is created | Yes |
| Collection | Collection name. If collection does not exist it is created | Yes |
| Mapping | Fields from a predefined message JSON structure can be mapped to a custom one. Example: {"sourceField": "targetField"} where 'sourceField' is a key in the predefined message, and 'targetField' is the key in the destination message. | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Provider ID: mongodb
Provider Name: DB - MongoDB
Required properties:
- database string — Database: The database name
- hostname string — Hostname: DNS name or IP of the host.
- collection string — Collection: The collection
- port integer — Port: Port of MongoDB host.
- name string — Name: Instance Name
Optional properties:
- authDatabase string — Auth database: The authentication database name
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- authMechanism string — Auth mechanism: The mechanisms to confirm an identity and establish trust to ensure security in the driver and server before connecting
Options: SCRAM-SHA-1, MONGODB-CR, MONGO-CR, PLAIN, MONGODB-X509
- mapping object — Mapping: The mapping list
- throttlingLimit integer — Throttling limit
- username string — Username: The username
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- password string — Password: The password
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "mongodb",
"Config": "{\"name\": \"My DB - MongoDB Integration\", \"hostname\": \"192.168.1.100\", \"port\": 27017, \"username\": \"admin\", \"password\": \"password\", \"authDatabase\": \"mydb\", \"authMechanism\": \"SCRAM-SHA-1\", \"database\": \"mydb\", \"collection\": \"mytable\", \"mapping\": {}, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "mongodb",
"Config": "{\"name\": \"My DB - MongoDB Integration\", \"hostname\": \"192.168.1.100\", \"port\": 27017, \"username\": \"admin\", \"password\": \"password\", \"authDatabase\": \"mydb\", \"authMechanism\": \"SCRAM-SHA-1\", \"database\": \"mydb\", \"collection\": \"mytable\", \"mapping\": {}, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - Microsoft SQL Server
POST {{edgeUrl}}/cc/v2
Overview
The Microsoft SQL Server integration enables Edge System to connect with MSSQL Database.
Supported Communication
-
Outbound (Write from Edge to SQL Server) - Yes
-
Inbound (Read from SQL Server to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of MSSQL Server (Must be reachable from Edge system) | Yes |
| Port | MSSQL Server port | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Database | Database name | Yes |
| Table | Table name | Yes |
| Mapping | Data from a predefined table could be mapped into a custom one. Example: {"from": "to"} where "from" is a column from predefined table, and "to" is a column from destination table | No |
| Create table | If selected and table doesn't exist, the table is created with the necessary format [1] | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version |
|---|---|
| Microsoft SQL Server | v15 (2019) |
| Microsoft SQL Server | v14 (2017) |
Provider ID: mssql
Provider Name: DB - Microsoft SQL Server
Required properties:
- table string — Table: The table name
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- database string — Database: The database name
- hostname string — Hostname: DNS name or IP of the host.
- name string — Name: Instance Name
- port integer — Port: Port of MSSQL host.
Optional properties:
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
- password string — Password: The password
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- mapping object — Mapping: The mapping list
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- username string — Username: The username
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "mssql",
"Config": "{\"name\": \"My DB - Microsoft SQL Server Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1433, \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "mssql",
"Config": "{\"name\": \"My DB - Microsoft SQL Server Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1433, \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - MySQL
POST {{edgeUrl}}/cc/v2
Overview
MySQL Integration enables Edge System to connect with MySQL Database
Supported Versions
MySQL (4.1+), MariaDB, Percona Server, Google CloudSQL or Sphinx (2.2.3+)
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of MSSQL Server (Must be reachable from Edge system) | Yes |
| Port | MSSQL Server port | Yes |
| Username | User name | Yes |
| Password | User password (can be empty) | No |
| Database | Database name | Yes |
| Table | Table name | Yes |
| Mapping | Data from a predefined table could be mapped into a custom one. Example: {"from": "to"} where "from" is a column from predefined table, and "to" is a column from destination table | No |
| Create table | If selected and table doesn't exist, the table is created with the necessary format [1] | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| MySQL | 8 | N/A |
Provider ID: mysql
Provider Name: DB - MySQL
Required properties:
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- hostname string — Hostname: DNS name or IP of the host.
- name string — Name: Instance Name
- database string — Database: The database name
- table string — Table: The table name
- username string — Username: The username
- port integer — Port: Port of MySql host.
Optional properties:
- mapping object — Mapping: The mapping list
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
- password string — Password: The password
- throttlingLimit integer — Throttling limit
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "mysql",
"Config": "{\"name\": \"My DB - MySQL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 3306, \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "mysql",
"Config": "{\"name\": \"My DB - MySQL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 3306, \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - PostgreSQL
POST {{edgeUrl}}/cc/v2
Overview
PostgreSQL Integration enables Edge System to connect with PostgreSQL Database
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of PostgreSQL Server (Must be reachable from Edge system) | Yes |
| Port | PostgreSQL Server port | Yes |
| Username | User name | Yes |
| Password | User password | Yes |
| Database | Database name | Yes |
| Table | Table name | Yes |
| Mapping | Data from a predefined table could be mapped into a custom one. Example: {"from": "to"} where "from" is a column from predefined table, and "to" is a column from destination table | No |
| Create table | If selected and table doesn't exist, the table is created with the necessary format [1] | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| PostgreSQL | 12 | N/A |
Provider ID: postgresql
Provider Name: DB - PostgreSQL
Required properties:
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- database string — Database: The database name
- username string — Username: The username
- hostname string — Hostname: DNS name or IP of the host.
- table string — Table: The table name
- name string — Name: Instance Name
- password string — Password: The password
- port integer — Port: Port of PostgreSQL host.
Optional properties:
- mapping object — Mapping: The mapping list
- persistentStorage boolean — Persistent storage
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "postgresql",
"Config": "{\"name\": \"My DB - PostgreSQL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5432, \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "postgresql",
"Config": "{\"name\": \"My DB - PostgreSQL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5432, \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - AMQP TCP
POST {{edgeUrl}}/cc/v2
Overview
AMQP TCP Integration enables Edge System to connect with AMQP broker via TCP.
Supported Versions
Supports RabbitMQ versions starting with 2.0 but primarily tested against recent 3. x releases. Some features and behaviors may be server-version specific.
Supported Communication
-
Outbound (Publish data from Edge to AMQP broker) - Yes
-
Inbound (Subscribe data from AMQP broker to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or hostname of AMQP broker (Must be reachable from Edge system) | Yes |
| Port | AMQP broker port | Yes |
| Virtual host | specifies the namespace of permissions, exchanges, queues and bindings on the server | No |
| Username | Username | No |
| Password | Password | No |
| Exchange | AMQP exchange | No |
| Exchange type | can be one of "direct", "fanout", "topic", "x-custom" | No |
| Exchange durable | [*] | No |
| Exchange auto delete | [*] | No |
| Exchange internal | [*] | No |
| Exchange no wait | [*] | No |
| Routing key | AMQP routing key | Yes |
| ISO8601 timestamp | Convert a message timestamp into ISO8601 format before send | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
[*] Exchange names starting with "amq." are reserved for pre-declared and standardized exchanges. The client MAY declare an exchange starting with "amq." if the passive option is set, or the exchange already exists. Names can consist of a non-empty sequence of letters, digits, hyphen, underscore, period, or colon.
Each exchange belongs to one of a set of exchange kinds/types implemented by the server. The exchange types define the functionality of the exchange - i.e. how messages are routed through it. Once an exchange is declared, its type cannot be changed. The common types are "direct", "fanout", "topic" and "headers".
Durable and Non-Auto-Deleted exchanges survive server restarts and remain declared when there are no remaining bindings. These selections are best for long-lived exchange configurations like stable routes and default exchanges.
Non-Durable and Auto-Deleted exchanges are deleted when there are no remaining bindings and not restored on server restart. These selections are useful for temporary topologies that should not pollute the virtual host on failure or after the consumers have completed.
Non-Durable and Non-Auto-deleted exchanges remain while the server is running, including when there are no remaining bindings. These selections are useful for temporary topologies that may have long delays between bindings.
Durable and Auto-Deleted exchanges survive server restarts and are removed before and after server restarts when there are no remaining bindings. These selections are useful for robust temporary topologies or when you require binding durable queues to auto-deleted exchanges.
Note: RabbitMQ declares the default exchange types like 'amq.fanout' as durable, so queues that bind to these pre-declared exchanges must also be durable.
Exchanges declared as internal do not accept publishings. Internal exchanges are useful when you wish to implement inter-exchange topologies that should not be exposed to users of the broker.
When No Wait is selected, you can continue without waiting for a confirmation from the server. The channel may be closed because of an error. Add a NotifyClose listener to respond to any exceptions.AMQP TCP connector Readme
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version |
|---|---|
| RabbitMQ | 3.12 |
Provider ID: amqp-tcp
Provider Name: AMQP TCP
Required properties:
- routingKey string — Routing key
- port integer — Port: Port number
- hostname string — Hostname
- name string — Name: Instance Name
Optional properties:
- throttlingLimit integer — Throttling limit
- exchangeType string — exchangeType: Exchange type
Options: direct, fanout, topic, x-custom
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- username string — Username
- virtualHost string — Virtual host: Virtual hostname
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- exchange string — Exchange
- exchangeAutoDelete boolean — Exchange auto delete
- exchangeDurable boolean — Exchange durable
- iso8601Timestamp boolean — ISO8601 timestamp: Convert timestamp to ISO8601
- password string — Password
- exchangeInternal boolean — Exchange internal
- persistentStorage boolean — Persistent storage
- exchangeNoWait boolean — Exchange no wait
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "amqp-tcp",
"Config": "{\"name\": \"My AMQP TCP Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5672, \"virtualHost\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"password\", \"exchange\": \"placeholder_exchange\", \"exchangeType\": \"direct\", \"exchangeDurable\": true, \"exchangeAutoDelete\": false, \"exchangeInternal\": false, \"exchangeNoWait\": false, \"routingKey\": \"<certificate>\", \"iso8601Timestamp\": false, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "amqp-tcp",
"Config": "{\"name\": \"My AMQP TCP Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5672, \"virtualHost\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"password\", \"exchange\": \"placeholder_exchange\", \"exchangeType\": \"direct\", \"exchangeDurable\": true, \"exchangeAutoDelete\": false, \"exchangeInternal\": false, \"exchangeNoWait\": false, \"routingKey\": \"<certificate>\", \"iso8601Timestamp\": false, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Aveva Data Hub
POST {{edgeUrl}}/cc/v2
Overview
The Aveva Data Hub integration enables Edge System to connect with Aveva Data Hub.
Supported Communication
-
Outbound (Publish data from Edge to Aveva Data Hub ) - Yes
-
Inbound (Subscribe data from Aveva Data Hub to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Description | Enter a description for the connection | No |
| Endpoint | Region Endpoints for West US (primary), Northern Australia, Eastern Europe. The endpoint is found in Aveva Data Hub > Security > Clients > Client > Connection Information > Regional Endpoints | Yes |
| Client id | ID used to authenticate and access data. This Client ID is found in Aveva Data Hub > Security > Clients > Client > Details> Client ID | Yes |
| Client secret | ID used to authenticate and access data. A user can create a new Secret in Aveva Data Hub > Security > Clients > Client >Secrets and use the secret as this field | Yes |
| Tenant id | ID required for a tenant to make connection. A tenant represents the set of services, applications, data, and configuration state available to a customer.The Tenant ID is found in Aveva Data Hub > Security > Client > Details | Yes |
| Stream id | Default SDS stream. Sequential Data Store stream name found in AVEVA Data Hub > Data Management . Stream ID can found in a stream’s Details | Yes |
| Namespace | The Namespace of the Default SDS stream name. | Yes |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: aveva-datahub
Provider Name: Aveva Data Hub
Required properties:
- clientId string — Client Id
- clientSecret string — Client Secret
- namespace string — Namespace
- tenantId string — Tenant Id
- endpoint string — Endpoint
- name string — Name: Instance Name
- stream string — Stream Id
Optional properties:
- description string — Description: Instance Description
- persistentStorage boolean — Persistent storage
- throttlingLimit integer — Throttling limit
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "aveva-datahub",
"Config": "{\"name\": \"My Aveva Data Hub Integration\", \"description\": \"placeholder_description\", \"endpoint\": \"/example/path\", \"clientId\": \"my-client-id\", \"clientSecret\": \"password\", \"tenantId\": \"my-client-id\", \"stream\": \"placeholder_stream\", \"namespace\": \"placeholder_namespace\", \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "aveva-datahub",
"Config": "{\"name\": \"My Aveva Data Hub Integration\", \"description\": \"placeholder_description\", \"endpoint\": \"/example/path\", \"clientId\": \"my-client-id\", \"clientSecret\": \"password\", \"tenantId\": \"my-client-id\", \"stream\": \"placeholder_stream\", \"namespace\": \"placeholder_namespace\", \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - OSI PI Historian
POST {{edgeUrl}}/cc/v2
Overview
OSI PI Web Integration enables Edge System to connect with PI Historian Web API
Supported Communication
-
Outbound - Publish data from Edge to PI
-
Inbound - Subscribe to data from PI to Edge
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Description | Enter a description for the connection | No |
| Endpoint | Address of OSI PI Historian Web API (configured with OMF plugin) | Yes |
| Username | User name | Yes |
| Password | User password | Yes |
| CA Certificate | SSL CA Certificate | No |
| Compression | Enable gzip compression for OMF requests | Yes |
| Request Timeout | HTTP Request Timeout in milliseconds | Yes |
| Data Source Type | Text to be used as root name for datasource. If empty, PI points will show "PIWebAPI_OMF" | No |
| Data Source Version | Text to be used datasource suffix. Requires non-empty DataSourceType | No |
| Tag Name Format | Text with format-directives to generate PI point names | Yes |
| Tag Type Format | Text with format-directives to generate AF type names | Yes |
| Tag Description Format | Text with format-directives to generate PI point descriptions | No |
| Timezone | UTC Timezone information to append to Outbound data timestamps | No |
| Check Tags | Check if point name exists before attempting to create new | No |
| Publish Count Threshold | Publish count threshold (1 disables batching) | Yes |
| Publish Delay Threshold | Publish delay threshold in milliseconds (0 disables batching) | Yes |
| PIServer | Name of PI Data Archive server. Defaults to first found | No |
| Subscribe Interval | Polling interval in seconds | Yes |
| Max Subscription Events | Maximum number of events processed per subscription poll (prioritised by most recent) | Yes |
| Insecure Skip Verify | InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name. Select to disable verification | No |
| Parallel Publish Count | The number of simultaneously publishing messages | Yes |
| Persistent Storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue Mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Format Directives
** WARNING! Take care when modifying format-directives ** * Any change to metadata format settings is only applicable to proceeding data. Once ingested to PI, metadata of existing PI points will not be modified. * Point names will change if inner variable value changes (e.g. Tag Description). This may result in new PI points being created. * The following characters will be removed from any format string: *?;{}[]\'"|
| Symbol | Definition | Context |
|---|---|---|
| $ | Special character indicate a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
| $S | Data Source Type | from Connector Settings |
| $V | Data Source Version | from Connector Settings |
| $D | Device Name | from DeviceHub Tag |
| $N | Tag Name | from DeviceHub Tag |
| $T | Tag Type | from DeviceHub Tag (shown as OPCUA/PI type) |
| $R | Raw Tag Type | from DeviceHub Tag |
| $P | Tag Description | from DeviceHub Tag |
| $H | Hostname | from OS |
| % | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
| %L | Lowercase() | apply to next variable |
| %U | Uppercase() | apply to next variable |
Format Directive Notes:
* To use a special character in its literal form, enter symbol twice ($$ -> $, %% -> %)
Example "$$$D.%%$N" -> "$deviceABC.%tagXYZ"
* A special character must be followed by either itself, or one of the supported characters in the table above. Any other condition will result in an error
Example1 "$D.$N$%" -> error
Example2 "$D.$N$" -> error
Example3 "$D.$N$#" -> error
* Functions only act on the next variable found in the string
Example1 "%U$D.$N" -> "DEVICEABC.tagXYZ" (device name all uppercase)
Example2 "$D%L.$N" -> "deviceABC.tagxyz" (tag name all lowercase)
Example3 "$D.$N%L" -> "deviceABC.tagXYZ" (no effect)
Provider ID: osi-pi-web
Provider Name: OSI PI Historian
Required properties:
- publishDelayThreshold integer — Publish Delay Threshold (ms): Publish delay threshold in milliseconds (0 disables batching)
- endpoint string — Endpoint: Resource Endpoint
- name string — Name: Instance Name
- subscribeInterval integer — Subscribe Interval (s): The subscription polling interval in seconds
- maxSubscriptionEvents integer — Max Subscription Events: The maximum number of events processed per subscription poll (prioritised by most recent)
- requestTimeout integer — Request Timeout (ms): HTTP Request Timeout in milliseconds
- username string — Username
- password string — Password
- publishCountThreshold integer — Publish Count Threshold: Publish count threshold (1 disables batching)
- tagNameFormat string — Point Name Format: Formatting directives for PI point name
- tagTypeFormat string — Point Datatype Format: Formatting directives for PI point datatype (AF type name)
Optional properties:
- checkTags boolean — Check Tags: Check if point name exists before attempting to create new when writing
- compression boolean — Gzip Compression: Enable gzip compression for OMF requests
- dataSourceVersion string — Data Source Version: Optional version suffix for root datasource, requires non-empty DataSourceType
- insecureSkipVerify boolean — Insecure Skip Verify: Disable server certificate chain and host name verification
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- dataSourceType string — Data Source Type: Optional root name of datasource for PI points
- description string — Description: Instance Description
- timezone string — Data Timezone: UTC Timezone of Outbound data
Options: UTC, Africa/Abidjan, Africa/Accra, Africa/Addis_Ababa, Africa/Algiers, Africa/Asmara, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Bissau, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Cairo, Africa/Casablanca, Africa/Ceuta, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/El_Aaiun, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Juba, Africa/Kampala, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maputo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Monrovia, Africa/Nairobi, Africa/Ndjamena, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, Africa/Sao_Tome, Africa/Tripoli, Africa/Tunis, Africa/Windhoek, America/Adak, America/Anchorage, America/Anguilla, America/Antigua, America/Araguaina, America/Argentina/Buenos_Aires, America/Argentina/Catamarca, America/Argentina/Cordoba, America/Argentina/Jujuy, America/Argentina/La_Rioja, America/Argentina/Mendoza, America/Argentina/Rio_Gallegos, America/Argentina/Salta, America/Argentina/San_Juan, America/Argentina/San_Luis, America/Argentina/Tucuman, America/Argentina/Ushuaia, America/Aruba, America/Asuncion, America/Atikokan, America/Bahia, America/Bahia_Banderas, America/Barbados, America/Belem, America/Belize, America/Blanc-Sablon, America/Boa_Vista, America/Bogota, America/Boise, America/Cambridge_Bay, America/Campo_Grande, America/Cancun, America/Caracas, America/Cayenne, America/Cayman, America/Chicago, America/Chihuahua, America/Ciudad_Juarez, America/Costa_Rica, America/Creston, America/Cuiaba, America/Curacao, America/Danmarkshavn, America/Dawson, America/Dawson_Creek, America/Denver, America/Detroit, America/Dominica, America/Edmonton, America/Eirunepe, America/El_Salvador, America/Fort_Nelson, America/Fortaleza, America/Glace_Bay, America/Goose_Bay, America/Grand_Turk, America/Grenada, America/Guadeloupe, America/Guatemala, America/Guayaquil, America/Guyana, America/Halifax, America/Havana, America/Hermosillo, America/Indiana/Indianapolis, America/Indiana/Knox, America/Indiana/Marengo, America/Indiana/Petersburg, America/Indiana/Tell_City, America/Indiana/Vevay, America/Indiana/Vincennes, America/Indiana/Winamac, America/Inuvik, America/Iqaluit, America/Jamaica, America/Juneau, America/Kentucky/Louisville, America/Kentucky/Monticello, America/Kralendijk, America/La_Paz, America/Lima, America/Los_Angeles, America/Lower_Princes, America/Maceio, America/Managua, America/Manaus, America/Marigot, America/Martinique, America/Matamoros, America/Mazatlan, America/Menominee, America/Merida, America/Metlakatla, America/Mexico_City, America/Miquelon, America/Moncton, America/Monterrey, America/Montevideo, America/Montserrat, America/Nassau, America/New_York, America/Nome, America/Noronha, America/North_Dakota/Beulah, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/Nuuk, America/Ojinaga, America/Panama, America/Paramaribo, America/Phoenix, America/Port-au-Prince, America/Port_of_Spain, America/Porto_Velho, America/Puerto_Rico, America/Punta_Arenas, America/Rankin_Inlet, America/Recife, America/Regina, America/Resolute, America/Rio_Branco, America/Santarem, America/Santiago, America/Santo_Domingo, America/Sao_Paulo, America/Scoresbysund, America/Sitka, America/St_Barthelemy, America/St_Johns, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Swift_Current, America/Tegucigalpa, America/Thule, America/Tijuana, America/Toronto, America/Tortola, America/Vancouver, America/Whitehorse, America/Winnipeg, America/Yakutat, Antarctica/Casey, Antarctica/Davis, Antarctica/DumontDUrville, Antarctica/Macquarie, Antarctica/Mawson, Antarctica/McMurdo, Antarctica/Palmer, Antarctica/Rothera, Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok, Arctic/Longyearbyen, Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe, Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku, Asia/Bangkok, Asia/Barnaul, Asia/Beirut, Asia/Bishkek, Asia/Brunei, Asia/Chita, Asia/Choibalsan, Asia/Colombo, Asia/Damascus, Asia/Dhaka, Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron, Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta, Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Kathmandu, Asia/Khandyga, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau, Asia/Magadan, Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk, Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak, Asia/Pyongyang, Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Riyadh, Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Ust-Nera, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yangon, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Bermuda, Atlantic/Canary, Atlantic/Cape_Verde, Atlantic/Faroe, Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/South_Georgia, Atlantic/St_Helena, Atlantic/Stanley, Australia/Adelaide, Australia/Brisbane, Australia/Broken_Hill, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lindeman, Australia/Lord_Howe, Australia/Melbourne, Australia/Perth, Australia/Sydney, Europe/Amsterdam, Europe/Andorra, Europe/Astrakhan, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Busingen, Europe/Chisinau, Europe/Copenhagen, Europe/Dublin, Europe/Gibraltar, Europe/Guernsey, Europe/Helsinki, Europe/Isle_of_Man, Europe/Istanbul, Europe/Jersey, Europe/Kaliningrad, Europe/Kirov, Europe/Kyiv, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/Luxembourg, Europe/Madrid, Europe/Malta, Europe/Mariehamn, Europe/Minsk, Europe/Monaco, Europe/Moscow, Europe/Oslo, Europe/Paris, Europe/Podgorica, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/San_Marino, Europe/Sarajevo, Europe/Saratov, Europe/Simferopol, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Tirane, Europe/Ulyanovsk, Europe/Vaduz, Europe/Vatican, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Europe/Zurich, Indian/Antananarivo, Indian/Chagos, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Maldives, Indian/Mauritius, Indian/Mayotte, Indian/Reunion, Pacific/Apia, Pacific/Auckland, Pacific/Bougainville, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter, Pacific/Efate, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti, Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway, Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei, Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti, Pacific/Tarawa, Pacific/Tongatapu, Pacific/Wake, Pacific/Wallis
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- piServer string — PI Data Server Name: Optional name of PI Data Archive server
- queueMode string — Queue Mode
Options: lifo, fifo
- tagDescriptionFormat string — Point Description Format: Optional formatting directives for PI point description
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "osi-pi-web",
"Config": "{\"name\": \"My OSI PI Historian Integration\", \"description\": \"placeholder_description\", \"endpoint\": \"/example/path\", \"username\": \"admin\", \"password\": \"password\", \"insecureSkipVerify\": false, \"caCert\": \"<certificate>\", \"timezone\": \"UTC\", \"dataSourceType\": \"DH\", \"dataSourceVersion\": \"1\", \"tagNameFormat\": \"$S$V.$D.$N\", \"tagTypeFormat\": \"TimeIndexed.$T.$S\", \"tagDescriptionFormat\": \"$P\", \"compression\": true, \"checkTags\": true, \"piServer\": \"192.168.1.100\", \"requestTimeout\": 1000, \"publishDelayThreshold\": 1000, \"publishCountThreshold\": 50, \"subscribeInterval\": 1, \"maxSubscriptionEvents\": 100, \"workersCount\": 1, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1, \"database\": \"\", \"afServer\": \"\", \"throttlingLimit\": 0}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "osi-pi-web",
"Config": "{\"name\": \"My OSI PI Historian Integration\", \"description\": \"placeholder_description\", \"endpoint\": \"/example/path\", \"username\": \"admin\", \"password\": \"password\", \"insecureSkipVerify\": false, \"caCert\": \"<certificate>\", \"timezone\": \"UTC\", \"dataSourceType\": \"DH\", \"dataSourceVersion\": \"1\", \"tagNameFormat\": \"$S$V.$D.$N\", \"tagTypeFormat\": \"TimeIndexed.$T.$S\", \"tagDescriptionFormat\": \"$P\", \"compression\": true, \"checkTags\": true, \"piServer\": \"192.168.1.100\", \"requestTimeout\": 1000, \"publishDelayThreshold\": 1000, \"publishCountThreshold\": 50, \"subscribeInterval\": 1, \"maxSubscriptionEvents\": 100, \"workersCount\": 1, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1, \"database\": \"\", \"afServer\": \"\", \"throttlingLimit\": 0}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - AWS IoT SiteWise
POST {{edgeUrl}}/cc/v2
Overview
AWS IoT SiteWise integration enables Edge System to connect with Amazon AWS IoT SiteWise service.
Supported Communication
-
Outbound (Publish data from Edge to AWS IoT SiteWise) - Yes
-
Inbound (Subscribe data from AWS IoT SiteWise to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Region | Region is a geographic area where Amazon Web Services resources are hosted | Yes |
| Access key id | Access key id is a unique identifier in AWS IoT SiteWise used for authentication, enabling secure and authorized access to the SiteWise service for applications and entities | Yes |
| Secret access key | Secret access key in AWS IoT SiteWise is a confidential authentication credential used to securely access and interact with the SiteWise service. | Yes |
| Subscribe interval | Subscribe interval defines the time in seconds between consecutive data update notifications for a subscribed asset property, specifying the frequency at which the system checks and receives updates on the specified property within the IoT SiteWise platform. | No |
| Number of batch messages | Number of batch messages refers to the quantity of grouped data transmissions | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: aws-sitewise
Provider Name: AWS IoT SiteWise
Required properties:
- region string — Region: Region Name
- secretAccessKey string — Secret access key: The secret access key
- accessKey string — Access key: The access key
- name string — Name: Instance Name
Optional properties:
- queueMode string — Queue Mode
Options: lifo, fifo
- subscribeIntervalSeconds integer — Subscribe interval: The subscription polling interval in seconds
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- numberOfBatchMessagesToPublish integer — Number of batch messages: The number of batch messages to publish
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "aws-sitewise",
"Config": "{\"name\": \"My AWS IoT SiteWise Integration\", \"region\": \"us-west-2\", \"accessKey\": \"<certificate>\", \"secretAccessKey\": \"<certificate>\", \"subscribeIntervalSeconds\": 1, \"numberOfBatchMessagesToPublish\": 1, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "aws-sitewise",
"Config": "{\"name\": \"My AWS IoT SiteWise Integration\", \"region\": \"us-west-2\", \"accessKey\": \"<certificate>\", \"secretAccessKey\": \"<certificate>\", \"subscribeIntervalSeconds\": 1, \"numberOfBatchMessagesToPublish\": 1, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - AWS IoT SiteWise Edge Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The AWS IoT SiteWise Edge Integration enables Edge system to connect to the MQTT broker in AWS IoT SiteWise Edge Gateway. Seamlessly allow the AWS IoT SiteWise Edge Data Processor & AWS IoT SiteWise Edge Publisher to publish the data into AWS IoT SiteWise
Supported Communication
- Outbound (Publish data from Edge to MQTT Broker) - Yes
- Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Client id | Unique client identity | Yes |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings:
|
Yes |
| PropertyAlias | AWS IoT SiteWise Asset Property Alias | Yes |
| Integration topic | Default topic for Publishing | Yes |
| Additional Alias definition | Optional string to further define dynamic propertyAlias and Integration Topic | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Format Directives
| Symbol | Definition | Context |
|---|---|---|
| $ | Special character indicate a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
| $S | Additional Alias definition | from Connector Settings |
| $D | Device Name | from DeviceHub Tag |
| $N | Tag Name | from DeviceHub Tag |
| $R | Raw Tag Type | from DeviceHub Tag |
| $P | Tag Description | from DeviceHub Tag |
| $H | Hostname | from OS |
| % | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
| %L | Lowercase() | apply to next variable |
| %U | Uppercase() | apply to next variable |
Format Directives Notes
To use a special character in its literal form, enter symbol twice ($$ -> $, %% -> %)
Example "$$$D.%%$N" -> "$deviceABC.%tagXYZ"
Provider ID: aws-iot-sitewise-edge-gen-2
Provider Name: MQTT - AWS IoT SiteWise Edge Gen 2
Required properties:
- clientId string — Client ID: Client ID is required by MQTT server.
- topic string — Integration Topic: MQTT topic
- port integer — Port: Port of MQTT host.
- name string — Instance Name
- hostname string — Hostname: DNS name of MQTT host.
- propertyAlias string — Property Alias: AWS IoT Sitewise Asset Property Alias
Optional properties:
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- queueMode string — Queue Mode
Options: lifo, fifo
- willPayload string — LWT payload: MQTT LWT payload
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- additionalAliasDefinition string — Additional Alias Definition: Optional string to further define dynamic propertyAlias and Integration Topic
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- willTopic string — LWT topic: MQTT LWT topic
- throttlingLimit integer — Throttling limit
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "aws-iot-sitewise-edge-gen-2",
"Config": "{\"name\": \"My MQTT - AWS IoT SiteWise Edge Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"propertyAlias\": \"placeholder_propertyAlias\", \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"additionalAliasDefinition\": \"placeholder_additionalAliasDefinition\", \"qos\": 1, \"workersCount\": 100, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "aws-iot-sitewise-edge-gen-2",
"Config": "{\"name\": \"My MQTT - AWS IoT SiteWise Edge Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"propertyAlias\": \"placeholder_propertyAlias\", \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"additionalAliasDefinition\": \"placeholder_additionalAliasDefinition\", \"qos\": 1, \"workersCount\": 100, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - Amazon AWS IoT Core over SSL
POST {{edgeUrl}}/cc/v2
Overview
The AWS IoT Core MQTT SSL integration enables Edge System to connect with Amazon AWS IoT Core over SSL.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Certificate | SSL Certificate | Yes |
| Private key | SSL certificate private key | Yes |
| Client id | Unique client identity | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe | Yes |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Amazon AWS | N/A | N/A |
Provider ID: aws-iotcore-mqtt-ssl
Provider Name: MQTT - Amazon AWS IoT Core over SSL
Required properties:
- hostname string — Hostname: DNS name of MQTT host.
- name string — Name: Instance Name
- privateKey string — Private key: Private key can be added here.
- certificate string — Certificate: Certificate can be added here.
- topic string — Integration Topic: MQTT topic
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
Optional properties:
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- willRetained boolean — LWT retained: MQTT LWT retained
- willTopic string — LWT topic: MQTT LWT topic
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- port integer — Port: Port of MQTT host.
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- clientId string — Client ID: Client ID is required by MQTT server.
- willPayload string — LWT payload: MQTT LWT payload
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "aws-iotcore-mqtt-ssl",
"Config": "{\"name\": \"My MQTT - Amazon AWS IoT Core over SSL Integration\", \"hostname\": \"a1o8e9c82gegra.iot.us-east-2.amazonaws.com\", \"port\": 8883, \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"clientId\": \"my-client-id\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"/events\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "aws-iotcore-mqtt-ssl",
"Config": "{\"name\": \"My MQTT - Amazon AWS IoT Core over SSL Integration\", \"hostname\": \"a1o8e9c82gegra.iot.us-east-2.amazonaws.com\", \"port\": 8883, \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"clientId\": \"my-client-id\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"/events\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Azure Event Hubs
POST {{edgeUrl}}/cc/v2
Overview
The Azure Event Hubs integration enables Edge System to connect to the Azure Event Hubs.
Supported Communication
-
Outbound (Publish data from Edge to Azure Event Hub) - Yes
-
Inbound (Subscribe data from Azure Event Hub to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Connection string | Configuration string | Yes |
| Maximum message size | Maximum message size for an individual event (message) in Azure Event Hubs is 256 KB | Yes |
| Parallel connections unit | Impose a strict limit on the maximum number of simultaneous connections or clients that can be established with an Event Hub. | Yes |
| Combine messages | Message or event combination refers to the procedure of consolidating several separate messages or events into one unified message or event. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: azure-event-hubs
Provider Name: Azure Event Hubs
Required properties:
- combineMessages boolean — Combine messages: Decrease count of messages by combine them to a single message
- connectionString string — Connection string
- maxMessageSize integer — Maximum message size: Maximum message size in KB
- name string — Name: Instance Name
- connectionsCount integer — Parallel connections count: The count of parallel connections
Optional properties:
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "azure-event-hubs",
"Config": "{\"name\": \"My Azure Event Hubs Integration\", \"connectionString\": \"password\", \"maxMessageSize\": 256, \"connectionsCount\": 50, \"combineMessages\": true, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "azure-event-hubs",
"Config": "{\"name\": \"My Azure Event Hubs Integration\", \"connectionString\": \"password\", \"maxMessageSize\": 256, \"connectionsCount\": 50, \"combineMessages\": true, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - Azure IoT Hub using Device Certificates
POST {{edgeUrl}}/cc/v2
Overview
The Azure IoT Hub MQTT Device certificate integration enables Edge System to connect with Azure IoT Hub over SSL using device certificates.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Device id | Device ID is a unique identifier assigned to an IoT device for secure and distinct identification within Azure IoT services | Yes |
| Certificate | A device certificate is a digital credential used for secure authentication and encryption in Azure services, providing trusted identity and data protection. | Yes |
| Private key | A device private key is a cryptographic key used for secure, authenticated communication between an IoT device and Azure services. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe Default: devices/{deviceId}/messages/events/ where {deviceid} gets replaced with the value from the configuraiton entered |
Yes |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Azure services | N/A | N/A |
Provider ID: azure-iothub-mqtt-device-cert
Provider Name: MQTT - Azure IoT Hub using Device Certificates
Required properties:
- deviceId string — Device ID: ID of the device as shown in your Azure IoT hub.
- name string — Name: Instance Name
- privateKey string — Private key: Device key
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- certificate string — Certificate: Device certificate
- hostname string — Hostname: DNS name of MQTT host. It can be found in "Overview" tab of your Azure IoT hub.
Optional properties:
- willPayload string — LWT payload: MQTT LWT payload
- port integer — Port: Port of MQTT host.
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- willRetained boolean — LWT retained: MQTT LWT retained
- willTopic string — LWT topic: MQTT LWT topic
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- topic string — Integration Topic: MQTT topic
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "azure-iothub-mqtt-device-cert",
"Config": "{\"name\": \"My MQTT - Azure IoT Hub using Device Certificates Integration\", \"hostname\": \"loopedge.azure-devices.net\", \"port\": 8883, \"deviceId\": \"loopedge-000c29dedd9e\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"workersCount\": 16, \"topic\": \"devices/loopedge-000c29dedd9e/messages/events/\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "azure-iothub-mqtt-device-cert",
"Config": "{\"name\": \"My MQTT - Azure IoT Hub using Device Certificates Integration\", \"hostname\": \"loopedge.azure-devices.net\", \"port\": 8883, \"deviceId\": \"loopedge-000c29dedd9e\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"workersCount\": 16, \"topic\": \"devices/loopedge-000c29dedd9e/messages/events/\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - Azure IoT Hub using SAS Key
POST {{edgeUrl}}/cc/v2
Overview
The Azure IoT Hub MQTT SAS key integration enables Edge System to connect to the MQTT broker.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Client ID | Unique client identity | No |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Azure Services | N/A | N/A |
Provider ID: azure-iothub-mqtt-sas-key
Provider Name: MQTT - Azure IoT Hub using SAS Key
Required properties:
- sasKey string — SAS Key: Primary or secondary shared access key.
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- deviceId string — Device ID: ID of the device as shown in your Azure IoT account.
- hostname string — Hostname: DNS name of MQTT host. It can be found in "Overview" tab of your Azure IoT hub.
- tokenTTL integer — Token TTL (minutes): The token expiry time in minutes
- name string — Name: Instance Name
Optional properties:
- willTopic string — LWT topic: MQTT LWT topic
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- port integer — Port: Port of MQTT host.
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- throttlingLimit integer — Throttling limit
- willRetained boolean — LWT retained: MQTT LWT retained
- persistentStorage boolean — Persistent storage
- willPayload string — LWT payload: MQTT LWT payload
- queueMode string — Queue Mode
Options: lifo, fifo
- topic string — Integration Topic: MQTT topic
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "azure-iothub-mqtt-sas-key",
"Config": "{\"name\": \"My MQTT - Azure IoT Hub using SAS Key Integration\", \"hostname\": \"loopedge.azure-devices.net\", \"port\": 8883, \"deviceId\": \"loopedge-000c29dedd9e\", \"sasKey\": \"<certificate>\", \"workersCount\": 16, \"topic\": \"devices/loopedge-000c29dedd9e/messages/events/\", \"tokenTTL\": 1440, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "azure-iothub-mqtt-sas-key",
"Config": "{\"name\": \"My MQTT - Azure IoT Hub using SAS Key Integration\", \"hostname\": \"loopedge.azure-devices.net\", \"port\": 8883, \"deviceId\": \"loopedge-000c29dedd9e\", \"sasKey\": \"<certificate>\", \"workersCount\": 16, \"topic\": \"devices/loopedge-000c29dedd9e/messages/events/\", \"tokenTTL\": 1440, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Cognite Connector
POST {{edgeUrl}}/cc/v2
Overview
Cognite Integration enables Edge System to connect with the Cognite platform.
Supported Communication
- Outbound (Publish data from Edge to Cognite platform ) - Yes
- Inbound (Subscribe data from Cognite platform to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Project ID | A unique identifier assigned to each project within the Cognite platform | Yes |
| Tenant ID | A unique identifier associated with a specific customer or organization within the Cognite platform, obtained from Microsoft Azure. | Yes |
| Client ID | A unique identifier used to authenticate Cognite clients, obtained from Microsoft Azure. | Yes |
| Client Secret | A confidential key used for authentication of Cognite clients, obtained from Microsoft Azure. | Yes |
| Cluster | A grouping of resources within the Cognite platform for managing and processing data efficiently. | Yes |
| Scope | Specifies the level of access or permissions granted to an application within the Cognite platform. | Yes |
| Subscribe interval | The time interval at which a client application receives updates or notifications from the Cognite platform | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: cognite
Provider Name: Cognite Connector
Required properties:
- projectID string — Project ID
- clientID string — Client ID
- cluster string — Cluster: Cluster name
- scope string — Scope: Scope name
- tenantID string — Tenant ID: Microsoft Azure Tenant ID
- clientSecret string — Client Secret: Client secret
- name string — Name: Instance Name
Optional properties:
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- subscribeIntervalSeconds integer — Subscribe interval: The subscription polling interval in seconds
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "cognite",
"Config": "{\"name\": \"My Cognite Connector Integration\", \"projectID\": \"my-client-id\", \"tenantID\": \"my-client-id\", \"clientID\": \"my-client-id\", \"clientSecret\": \"password\", \"cluster\": \"az-eastus-9\", \"scope\": \"https://az-eastus-9.cognitedata.com/.default\", \"subscribeIntervalSeconds\": 1, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "cognite",
"Config": "{\"name\": \"My Cognite Connector Integration\", \"projectID\": \"my-client-id\", \"tenantID\": \"my-client-id\", \"clientID\": \"my-client-id\", \"clientSecret\": \"password\", \"cluster\": \"az-eastus-9\", \"scope\": \"https://az-eastus-9.cognitedata.com/.default\", \"subscribeIntervalSeconds\": 1, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - Databricks SQL
POST {{edgeUrl}}/cc/v2
Overview
Databricks integration enables Edge System to connect with Databricks.
Supported Communication
-
Outbound (Write from Edge to Databricks) - Yes
-
Inbound (Read from Databricks to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Connection String | Connection string for the data source name. For personal token authentication, utilize the format below: token:personal-access-token@server-hostname:port-number/http-path?param1=value1¶m2=value2For M2M OAuth authentication, use: server-hostname:port-number/http-path?authType=OAuthM2M&clientID=client-id&clientSecret=client-secret |
Yes |
| Table | Table Name | Yes |
| Mapping | Data from a predefined table can be transformed and mapped into a custom one using a mapping configuration. For instance, the configuration might specify mappings in the format {"from": "to"}, where "from" represents a column from the predefined table, and "to" represents a column in the destination table. | No |
| Create Table | Create the table if it's not present, ensuring the user possesses the necessary permissions. | No |
| Bulk insert count | Accumulate messages in the buffer and execute the insertion once the count threshold is met. | No |
| Commit Timeout | Timeout (in milliseconds) for committing bulk inserts. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: databricks
Provider Name: DB - Databricks SQL
Required properties:
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- name string — Name: Instance Name
- table string — Table: The table name
- connString string — DSN Connection string: Data source name connection string
Optional properties:
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
- commitTimeout integer — Commit timeout: Bulk insert commit timeout (ms)
- mapping object — Mapping: The mapping list
- persistentStorage boolean — Persistent storage
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "databricks",
"Config": "{\"name\": \"My DB - Databricks SQL Integration\", \"connString\": \"password\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"bulkSize\": 0, \"commitTimeout\": 1000, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "databricks",
"Config": "{\"name\": \"My DB - Databricks SQL Integration\", \"connString\": \"password\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"bulkSize\": 0, \"commitTimeout\": 1000, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Google Cloud Pub/Sub Connector
POST {{edgeUrl}}/cc/v2
Overview
The Pub/Sub integration enables Edge System to connect with Google Cloud Pub/Sub.
Supported Communication
-
Outbound (Publish data from Edge to Google Cloud Pub/Sub) - Yes
-
Inbound (Subscribe to data from Google Cloud Pub/Sub to Edge ) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Service account key | Service account key is a JSON or P12 file containing authentication credentials for programmatic access to Google services | Yes |
| Project id | Project id is a unique identifier for a specific project within the Google Cloud Platform ecosystem. | Yes |
| Private key | Private Key ID is a unique identifier associated with a service account's private key, used for authentication and access control in Google services. | No |
| Client email | Client Email is an email address associated with a service account in a Google Cloud project, used for authentication and access to resources. | No |
| Default topic | Default topic for publishing | Yes |
| Show custom attributes | If enabled, custom attributes are key-value pairs that allow you to attach additional metadata to messages in a Google Cloud Pub/Sub topic for custom processing and filtering. | No |
| Parallel publish count | Parallel publish count refers to the number of concurrent message publishing operations that can be performed simultaneously using the Google Cloud Pub/Sub service, enhancing message throughput. | Yes |
| Parallel byte threshold | Parallel byte threshold is the configurable limit on the size of the data payload for a batch of messages that determines when parallel publishing of messages is triggered in Google Cloud Pub/Sub for optimized data transfer. | No |
| Publish count threshold | Publish count threshold is the set limit on the number of messages in a batch that triggers publishing to Google Cloud Pub/Sub, optimizing message delivery. | No |
| Publish delay threshold (Milliseconds) | Publish delay threshold (Milliseconds) is the specified time interval after which accumulated messages are automatically published to Google Cloud Pub/Sub to control message delivery latency. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: gcloud-pubsub
Provider Name: Google Cloud Pub/Sub Connector
Required properties:
- projectId string — Project ID: The project ID of the cloud project
- topic string — Integration Topic: Sub topic
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- key string — Credentials (.json)
- name string — Name: Instance Name
Optional properties:
- privateKeyID string — Private Key ID: The private key ID of the cloud project
- publishByteThreshold integer — Publish byte threshold: Publish byte threshold (0 is a default value, could be interpreted like - no limits)
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- clientEmail string — Client Email: The client email of the cloud project
- publishDelayThreshold integer — Publish delay threshold (Milliseconds): Publish delay threshold (0 is a default value, could be interpreted like - no limits)
- throttlingLimit integer — Throttling limit
- meta object — Custom Attributes: The custom attributes
- persistentStorage boolean — Persistent storage
- publishCountThreshold integer — Publish count threshold: Publish count threshold (0 is a default value, could be interpreted like - no limits)
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "gcloud-pubsub",
"Config": "{\"name\": \"My Google Cloud Pub/Sub Connector Integration\", \"key\": \"<certificate>\", \"projectId\": \"my-client-id\", \"privateKeyID\": \"password\", \"clientEmail\": \"placeholder_clientEmail\", \"topic\": \"projects/project-identifier/collection/relative-name\", \"meta\": {}, \"workersCount\": 100, \"publishByteThreshold\": 0, \"publishCountThreshold\": 0, \"publishDelayThreshold\": 0, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "gcloud-pubsub",
"Config": "{\"name\": \"My Google Cloud Pub/Sub Connector Integration\", \"key\": \"<certificate>\", \"projectId\": \"my-client-id\", \"privateKeyID\": \"password\", \"clientEmail\": \"placeholder_clientEmail\", \"topic\": \"projects/project-identifier/collection/relative-name\", \"meta\": {}, \"workersCount\": 100, \"publishByteThreshold\": 0, \"publishCountThreshold\": 0, \"publishDelayThreshold\": 0, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - InfluxDB v1.7.x TCP
POST {{edgeUrl}}/cc/v2
Overview
InfluxDB v1.7.x TCP Integration enables Edge System to connect with InfluxDB v1.7.x database via TCP
Supported Versions
- Compatible with InfluxDB 1.x
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Address | InfluxDB database url (e.g., http://localhost:8086) | Yes |
| Database | Database name | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Batch Size | The number of messages to be collected as a batch before inserting into the database | No |
| Batch Commit Time | The time, in seconds, before the next commit, regardless of batch size | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| docker: influxdb | 1.7 | N/A |
| docker: influxdb | 1.8 | N/A |
Provider ID: influxdb-tcp
Provider Name: DB - InfluxDB v1.7.x TCP
Required properties:
- name string — Name: Instance Name
- database string — InfluxDB database name
- address string — InfluxDB address
Optional properties:
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- batchCommitTimeSec integer — Insert batch commit time: The time of batch messages to commit
- password string — Password
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- username string — Username
- batchSize integer — Insert batch size: The number of batch messages to insert
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "influxdb-tcp",
"Config": "{\"name\": \"My DB - InfluxDB v1.7.x TCP Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"username\": \"admin\", \"password\": \"password\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "influxdb-tcp",
"Config": "{\"name\": \"My DB - InfluxDB v1.7.x TCP Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"username\": \"admin\", \"password\": \"password\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - InfluxDB v2.x TCP
POST {{edgeUrl}}/cc/v2
Overview
InfluxDB v2.x TCP Integration enables Edge System to connect with InfluxDB v2.x database via TCP
Supported Versions
- Compatible with InfluxDB 2.x
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Address | InfluxDB database url (e.g., http://localhost:8086) | Yes |
| Bucket | Bucket name | Yes |
| Organization | Organization name | Yes |
| Auth Token | Authentication token | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Batch Size | The number of messages to be collected as a batch before inserting into the database | No |
| Batch Commit Time | The time, in seconds, before the next commit, regardless of batch size | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Warning: The Username and Password fields are deprecated, please use Auth Token instead
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| docker: influxdb | 2.x | N/A |
Provider ID: influxdb-v2-tcp
Provider Name: DB - InfluxDB v2.x TCP
Required properties:
- address string — InfluxDB address
- batchCommitTimeSec integer — Insert batch commit time: The time of batch messages to commit
- database string — InfluxDB bucket name: Database name
- name string — Name: Instance Name
- authToken string — Auth token
- batchSize integer — Insert batch size: The number of batch messages to insert
- organization string — Organization: Organization name
Optional properties:
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- password string — Password
- throttlingLimit integer — Throttling limit
- persistentStorage boolean — Persistent storage
- username string — Username
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "influxdb-v2-tcp",
"Config": "{\"name\": \"My DB - InfluxDB v2.x TCP Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"organization\": \"placeholder_organization\", \"authToken\": \"password\", \"username\": \"admin\", \"password\": \"password\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "influxdb-v2-tcp",
"Config": "{\"name\": \"My DB - InfluxDB v2.x TCP Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"organization\": \"placeholder_organization\", \"authToken\": \"password\", \"username\": \"admin\", \"password\": \"password\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - InfluxDB v2.x+ SSL
POST {{edgeUrl}}/cc/v2
Overview
InfluxDB v2.x SSL Integration enables Edge System to connect with InfluxDB v2.x database via SSL
Supported Versions
- Compatible with InfluxDB 2.x
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Address | InfluxDB database url (e.g., http://localhost:8086) | Yes |
| Bucket | Bucket name | Yes |
| Organization | Organization name | Yes |
| Auth Token | Authentication token | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| CA Certificate | SSL CA Certificate | No |
| Certificate | SSL Certificate | No |
| Private key | SSL Private key | No |
| Batch Size | The number of messages to be collected as a batch before inserting into the database | No |
| Batch Commit Time | The time, in seconds, before the next commit, regardless of batch size | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Warning: The Username and Password fields are deprecated, please use Auth Token instead
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| docker: influxdb | 2.x | N/A |
Provider ID: influxdb-v2-ssl
Provider Name: DB - InfluxDB v2.x+ SSL
Required properties:
- database string — InfluxDB bucket name: Database name
- batchCommitTimeSec integer — Insert batch commit time: The time of batch messages to commit
- batchSize integer — Insert batch size: The number of batch messages to insert
- organization string — Organization: Organization name
- address string — InfluxDB address
- authToken string — Auth token
- name string — Name: Instance Name
Optional properties:
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- certificate string — Certificate: Certificate can be added here.
- username string — Username
- password string — Password
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- privateKey string — Private key: Private key can be added here.
- persistentStorage boolean — Persistent storage
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "influxdb-v2-ssl",
"Config": "{\"name\": \"My DB - InfluxDB v2.x+ SSL Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"organization\": \"placeholder_organization\", \"authToken\": \"password\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "influxdb-v2-ssl",
"Config": "{\"name\": \"My DB - InfluxDB v2.x+ SSL Integration\", \"address\": \"http://localhost:8086\", \"database\": \"mydb\", \"organization\": \"placeholder_organization\", \"authToken\": \"password\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"batchSize\": 500, \"batchCommitTimeSec\": 5, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Kafka TCP
POST {{edgeUrl}}/cc/v2
Overview
The Kafka TCP integration enables the Edge System to connect with the Kafka broker.
Supported Versions
Compatible with Kafka versions from 0.10.1.0 to 2.1.0.
Supported Communication
-
Outbound (Publish data from Edge to Kafka broker) - Yes
-
Inbound (Subscribe data from Kafka broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Brokers | List of Kafka brokers separated by comma (Must be reachable from Edge system) | Yes |
| SASL mechanism | SASL mechanism values include: NONE, SASL_PLAINTEXT. SCRAM-SHA-256, and SCRAM-SHA-512. This field can only be used if username is not empty. | Yes |
| Username | User name | No |
| Password | User password | No |
| Topic | Default topic for Publish | Yes |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| CloudKarafka | 0.11.0.0 | N/A |
Provider ID: kafka-tcp
Provider Name: Kafka TCP
Required properties:
- saslMechanism string — SASL mechanism
Options: NONE, SASL_PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512
- topic string — Topic: The topic name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- brokers string — Brokers list separated by comma
- name string — Name: Instance Name
Optional properties:
- password string — Password: The password
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- throttlingLimit integer — Throttling limit
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- username string — Username: The username
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "kafka-tcp",
"Config": "{\"name\": \"My Kafka TCP Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"workersCount\": 2000, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "kafka-tcp",
"Config": "{\"name\": \"My Kafka TCP Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"workersCount\": 2000, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Kafka TCP Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The Kafka TCP Gen 2 integration enables the Edge System to connect with the Kafka broker.
Supported Versions
Compatible with Kafka versions from 0.10.1.0 to 2.1.0.
Supported Communication
-
Outbound (Publish data from Edge to Kafka broker) - Yes
-
Inbound (Subscribe data from Kafka broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Brokers | List of Kafka brokers separated by comma (Must be reachable from Edge system) | Yes |
| SASL mechanism | SASL mechanism values include: NONE, SASL_PLAINTEXT. SCRAM-SHA-256, and SCRAM-SHA-512. This field can only be used if username is not empty. | Yes |
| Username | User name | No |
| Password | User password | No |
| Topic | Default topic for Publish | Yes |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| CloudKarafka | 0.11.0.0 | N/A |
Provider ID: kafka-tcp-gen-2
Provider Name: Kafka TCP Gen 2
Required properties:
- brokers string — Brokers list separated by comma
- name string — Name: Instance Name
- saslMechanism string — SASL mechanism
Options: NONE, SASL_PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512
- topic string — Topic: The topic name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
Optional properties:
- rebalanceTimeoutMs integer — Rebalance Timeout (ms): Consumer group rebalance timeout
- autoCreateTopic boolean — Auto create topic: Enable automatic topic creation when the topic is not found, this also requires to enable auto create topic config on the Kafka broker.
- dialTimeoutMs integer — Dial Timeout (ms): Connection establishment timeout
- fetchMinBytes integer — Fetch Min Bytes: Minimum bytes to fetch in each request
- metadataMaxAgeMs integer — Metadata Max Age (ms): Maximum age of metadata before refresh
- sessionTimeoutMs integer — Session Timeout (ms): Consumer group session timeout
- writeTimeoutMs integer — Write Timeout (ms): Write operation timeout
- queueMode string — Queue Mode
Options: lifo, fifo
- requestTimeoutMs integer — Request Timeout (ms): Maximum time to wait for requests to complete
- producerTimeoutMs integer — Producer Timeout (ms): Maximum time to wait for producer response
- compressionType string — Compression Type: Compression algorithm for message payloads
Options: none, gzip, snappy, lz4, zstd
- maxMessageBytes integer — Max Message Bytes: Maximum message size in bytes
- retryBackoffMs integer — Retry Backoff (ms): Backoff time between retry attempts
- username string — Username: The username
- fetchMaxBytes integer — Fetch Max Bytes: Maximum bytes to fetch in each request
- producerBatchMaxBytes integer — Producer Batch Max Bytes: Maximum size of producer batches in bytes
- readTimeoutMs integer — Read Timeout (ms): Read operation timeout
- clientId string — Client ID: Client identifier sent to Kafka brokers
- connIdleTimeoutMs integer — Connection Idle Timeout (ms): Maximum idle time before closing connections
- disableIdempotentWrite boolean — Disable Idempotent Write: Disable idempotent producer writes. When disabled, duplicate messages may be produced during retries.
- fetchMaxWaitMs integer — Fetch Max Wait (ms): Maximum time to wait for fetch requests
- produceRetries integer — Produce Retries: Maximum number of retry attempts for failed requests
- requiredAcks string — Required Acknowledgments: Level of acknowledgment reliability (none=0, leader=1, all=-1)
Options: none, leader, all
- heartbeatIntervalMs integer — Heartbeat Interval (ms): Consumer group heartbeat interval
- maxPartitionBytes integer — Max Partition Bytes: Maximum bytes to fetch per partition
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- throttlingLimit integer — Throttling limit
- metadataMinRefreshMs integer — Metadata Min Refresh (ms): Minimum time between metadata refreshes
- persistentStorage boolean — Persistent storage
- producerLingerMs integer — Producer Linger (ms): Time to wait for additional messages before sending batch
- password string — Password: The password
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "kafka-tcp-gen-2",
"Config": "{\"name\": \"My Kafka TCP Gen 2 Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"autoCreateTopic\": false, \"clientId\": \"my-client-id\", \"requestTimeoutMs\": 30000, \"connIdleTimeoutMs\": 540000, \"metadataMaxAgeMs\": 300000, \"metadataMinRefreshMs\": 100, \"requiredAcks\": \"all\", \"disableIdempotentWrite\": false, \"producerTimeoutMs\": 30000, \"producerBatchMaxBytes\": 1000000, \"producerLingerMs\": 5, \"compressionType\": \"none\", \"maxMessageBytes\": 1000000, \"fetchMinBytes\": 1, \"fetchMaxBytes\": 52428800, \"fetchMaxWaitMs\": 500, \"maxPartitionBytes\": 1048576, \"sessionTimeoutMs\": 10000, \"heartbeatIntervalMs\": 3000, \"rebalanceTimeoutMs\": 60000, \"retryBackoffMs\": 100, \"produceRetries\": 2147483647, \"dialTimeoutMs\": 10000, \"writeTimeoutMs\": 10000, \"readTimeoutMs\": 10000, \"workersCount\": 100, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "kafka-tcp-gen-2",
"Config": "{\"name\": \"My Kafka TCP Gen 2 Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"autoCreateTopic\": false, \"clientId\": \"my-client-id\", \"requestTimeoutMs\": 30000, \"connIdleTimeoutMs\": 540000, \"metadataMaxAgeMs\": 300000, \"metadataMinRefreshMs\": 100, \"requiredAcks\": \"all\", \"disableIdempotentWrite\": false, \"producerTimeoutMs\": 30000, \"producerBatchMaxBytes\": 1000000, \"producerLingerMs\": 5, \"compressionType\": \"none\", \"maxMessageBytes\": 1000000, \"fetchMinBytes\": 1, \"fetchMaxBytes\": 52428800, \"fetchMaxWaitMs\": 500, \"maxPartitionBytes\": 1048576, \"sessionTimeoutMs\": 10000, \"heartbeatIntervalMs\": 3000, \"rebalanceTimeoutMs\": 60000, \"retryBackoffMs\": 100, \"produceRetries\": 2147483647, \"dialTimeoutMs\": 10000, \"writeTimeoutMs\": 10000, \"readTimeoutMs\": 10000, \"workersCount\": 100, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - Generic over SSL
POST {{edgeUrl}}/cc/v2
Overview
The MQTT SSL integration enables Edge System to connect with the MQTT broker over SSL.
Supported Versions
Compatible with MQTT Protocol version 3.1.0 and MQTT Protocol version 3.1.1
Supported Communication
-
Outbound (Publish data from Edge to MQTT Broker) - Yes
-
Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection. | No |
| Certificate | SSL certificate | No |
| Private key | SSL certificate private key | No |
| Client id | Unique client identity | No |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publish or Subscribe | No |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| Mosquitto Message Broker | 1.x | Nov 14, 2019 |
| HiveMQ | 2.x | Nov 14, 2019 |
Provider ID: generic-mqtt-ssl
Provider Name: MQTT - Generic over SSL
Required properties:
- hostname string — Hostname: DNS name of MQTT host.
- name string — Name: Instance Name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
Optional properties:
- clientId string — Client ID: Client ID is required by MQTT server.
- password string — Password: The password
- port integer — Port: Port of MQTT host.
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- willPayload string — LWT payload: MQTT LWT payload
- certificate string — Certificate: Certificate can be added here.
- persistentStorage boolean — Persistent storage
- privateKey string — Private key: Private key can be added here.
- throttlingLimit integer — Throttling limit
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- topic string — Integration Topic: MQTT topic
- username string — Username: The username
- willRetained boolean — LWT retained: MQTT LWT retained
- willTopic string — LWT topic: MQTT LWT topic
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "generic-mqtt-ssl",
"Config": "{\"name\": \"My MQTT - Generic over SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "generic-mqtt-ssl",
"Config": "{\"name\": \"My MQTT - Generic over SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - v5 Generic Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The MQTT Generic Gen 2 integration enables Edge System to connect to the MQTT v5 broker
Supported Versions
Compatible with MQTT Protocol version 3.1.0, 3.1.1, 5.0.0
Supported Communication
- Outbound (Publish data from Edge to MQTT Broker) - Yes
- Inbound (Subscribe data from MQTT Broker to Edge) - Yes
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| Client id | Unique client identity | Yes |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publishing (Support Dynamic Topic publishing, please refer to Format Directive section below). | No |
| Response Topic | Response Topic for Request/Response messages in MQTT v5. | No |
| Payload Format Indicator | Payload Format Indicator to indicate the format of the payload for CONNECT and PUBLISH MQTT packets. Allowing the server to understand packet without having to operate on the actual data | Yes |
| Content Type | Content Type is a UTF-8 encoded string that describes the content of the application message, which helps the receiver understand how to parse the application message payload. | No |
| Topic Alias Maximum | Maximum number of Topic Alias allowed. Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer. | Yes |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Will Delay Interval | Add the ability to specify a delay between the end of the connection and sending the will message. | No |
| Session Expiry Interval | The number that specifies how long a broker keeps a client's session information. | No |
| Message Expiry Interval | Allow an expiry interval to be set when a message is published | No |
| User Properties | User-defined properties that allow users to add their metadata to MQTT messages and transmit additional user-defined information | No |
| Request Response Info | Enable to receive Response Info on Request Topic | No |
| Request Problem Info | Enable to receive Problem Info on Request Topic | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent Storage size Limit | Set the size limit for storing persisted data in MB | No |
| Keep Alive | Enter the keep alive duration in seconds. It is a mechanism to ensure that an Litmus Edge MQTT Integration and MQTT broker connection remain active even if no data is transmitted. MQTT 5.0 protocol, for clients with Keep Alive enabled, if the server does not receive an MQTT Control Packet from the client within 1.5 times the Keep Alive duration, it must close the network connection with the client. | No |
| Connection Timeout | Enter the duration to wait for a connection timeout in seconds | No |
Format Directives
| Symbol | Definition | Context |
|---|---|---|
| $ | Special character indicate a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
| $S | Additional Alias definition | from Connector Settings |
| $D | Device Name | from DeviceHub Tag |
| $N | Tag Name | from DeviceHub Tag |
| $R | Raw Tag Type | from DeviceHub Tag |
| $P | Tag Description | from DeviceHub Tag |
| $H | Hostname | from OS |
| % | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
| %L | Lowercase() | apply to next variable |
| %U | Uppercase() | apply to next variable |
Format Directives Notes
To use a special character in its literal form, enter symbol twice ($$ -> $, %% -> %)
Example "$$$D.%%$N" -> "$deviceABC.%tagXYZ"
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
Provider ID: generic-mqtt-v5-tcp-gen-2
Provider Name: MQTT - v5 Generic Gen 2
Required properties:
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- topic string — Integration Topic: MQTT topic
- port integer — Port: Port of MQTT host.
- hostname string — Hostname: DNS name of MQTT host.
- name string — Name: Instance Name
Optional properties:
- clientId string — Client ID: Client ID is required by MQTT server.
- requestProblemInfo boolean — Request Problem Info
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- willDelay integer — Will Delay Interval: Add the ability to specify a delay between the end of the connection and sending the will message
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- requestResponseInfo boolean — Request Response Info
- topicAlias integer — Topic Alias Maximum: Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer
- userProperties object — User Properties: The user properties to most packets
- keepAlive integer — Keep Alive: Ensure that client remains connected to the broker and maintains an active session
- payloadFormat string — Payload Format Indicator: Allowing the server to understand packet without having to operate on the actual data
Options: utf-8, byte
- sessionExpiryInterval integer — Session Expiry Interval (seconds): The number that specifies how long a broker keeps a client's session information
- throttlingLimit integer — Throttling limit
- messageExpiryInterval integer — Message Expiry Interval: Allow an expiry interval to be set when a message is published
- username string — Username: The username
- willRetained boolean — LWT retained: MQTT LWT retained
- willTopic string — LWT topic: MQTT LWT topic
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- persistentStorage boolean — Persistent storage
- responseTopic string — Response Topic: Default Response topic
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
- willPayload string — LWT payload: MQTT LWT payload
- contentType string — Content type: MQTT content type
- queueMode string — Queue Mode
Options: lifo, fifo
- connectionTimeout integer — Connection Timeout: How long to wait for the connection process to complete in seconds
- password string — Password: The password
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "generic-mqtt-v5-tcp-gen-2",
"Config": "{\"name\": \"My MQTT - v5 Generic Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"responseTopic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"keepAlive\": 60, \"connectionTimeout\": 10, \"payloadFormat\": \"utf-8\", \"contentType\": \"placeholder_contentType\", \"topicAlias\": 7, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"willDelay\": 0, \"sessionExpiryInterval\": 0, \"messageExpiryInterval\": 0, \"userProperties\": {}, \"requestResponseInfo\": false, \"requestProblemInfo\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "generic-mqtt-v5-tcp-gen-2",
"Config": "{\"name\": \"My MQTT - v5 Generic Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1883, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"responseTopic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"keepAlive\": 60, \"connectionTimeout\": 10, \"payloadFormat\": \"utf-8\", \"contentType\": \"placeholder_contentType\", \"topicAlias\": 7, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"willDelay\": 0, \"sessionExpiryInterval\": 0, \"messageExpiryInterval\": 0, \"userProperties\": {}, \"requestResponseInfo\": false, \"requestProblemInfo\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - MQTT - v5 Generic over SSL Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The MQTT SSL Gen 2 integration enables Edge System to connect to the MQTT v5 broker over SSL
Supported Versions
Compatible with MQTT Protocol version 3.1.0, 3.1.1, 5.0.0
Supported Communication
- Outbound (Publish data from Edge to MQTT Broker) - Yes
- Inbound (Subscribe data from MQTT Broker to Edge) - Yes
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
| Port | MQTT broker port | Yes |
| CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection. | No |
| Certificate | SSL certificate | No |
| Private key | SSL certificate private key | No |
| Client id | Unique client identity | Yes |
| Username | User name | No |
| Password | User password | No |
| QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
| Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: max_queued_messages (default 100)max_queued_bytes (default 0)As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. |
Yes |
| Integration topic | Default topic for Publishing (Support Dynamic Topic publishing, please refer to Format Directive section below). | No |
| Response Topic | Response Topic for Request/Response messages in MQTT v5. | No |
| Payload Format Indicator | Payload Format Indicator to indicate the format of the payload for CONNECT and PUBLISH MQTT packets. Allowing the server to understand packet without having to operate on the actual data | Yes |
| Content Type | Content Type is a UTF-8 encoded string that describes the content of the application message, which helps the receiver understand how to parse the application message payload. | No |
| Topic Alias Maximum | Maximum number of Topic Alias allowed. Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer. | Yes |
| LWT topic | It refers to the specific topic where the last will message will be published. | No |
| LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
| LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
| LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
| LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | No |
| Will Delay Interval | Add the ability to specify a delay between the end of the connection and sending the will message. | No |
| Session Expiry Interval | The number that specifies how long a broker keeps a client's session information. | No |
| Message Expiry Interval | Allow an expiry interval to be set when a message is published | No |
| User Properties | User-defined properties that allow users to add their metadata to MQTT messages and transmit additional user-defined information | No |
| Request Response Info | Enable to receive Response Info on Request Topic | No |
| Request Problem Info | Enable to receive Problem Info on Request Topic | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent Storage size Limit | Set the size limit for storing persisted data in MB | No |
| Keep Alive | Enter the keep alive duration in seconds. It is a mechanism to ensure that an Litmus Edge MQTT Integration and MQTT broker connection remain active even if no data is transmitted. MQTT 5.0 protocol, for clients with Keep Alive enabled, if the server does not receive an MQTT Control Packet from the client within 1.5 times the Keep Alive duration, it must close the network connection with the client. | No |
| Connection Timeout | Enter the duration to wait for a connection timeout in seconds | No |
Format Directives
| Symbol | Definition | Context |
|---|---|---|
| $ | Special character indicate a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
| $S | Additional Alias definition | from Connector Settings |
| $D | Device Name | from DeviceHub Tag |
| $N | Tag Name | from DeviceHub Tag |
| $R | Raw Tag Type | from DeviceHub Tag |
| $P | Tag Description | from DeviceHub Tag |
| $H | Hostname | from OS |
| % | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
| %L | Lowercase() | apply to next variable |
| %U | Uppercase() | apply to next variable |
Format Directives Notes
To use a special character in its literal form, enter symbol twice ($$ -> $, %% -> %)
Example "$$$D.%%$N" -> "$deviceABC.%tagXYZ"
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
Provider ID: generic-mqtt-v5-ssl-gen-2
Provider Name: MQTT - v5 Generic over SSL Gen 2
Required properties:
- hostname string — Hostname: DNS name of MQTT host.
- name string — Name: Instance Name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- port integer — Port: Port of MQTT host.
- topic string — Integration Topic: MQTT topic
Optional properties:
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- qos integer — QoS: MQTT QoS attribute.
Options: 0, 1, 2
- queueMode string — Queue Mode
Options: lifo, fifo
- responseTopic string — Response Topic: Default Response topic
- userProperties object — User Properties: The user properties to most packets
- willRetained boolean — LWT retained: MQTT LWT retained
- connectionTimeout integer — Connection Timeout: How long to wait for the connection process to complete in seconds
- contentType string — Content type: MQTT content type
- willDelay integer — Will Delay Interval: Add the ability to specify a delay between the end of the connection and sending the will message
- willTopic string — LWT topic: MQTT LWT topic
- persistentStorage boolean — Persistent storage
- requestProblemInfo boolean — Request Problem Info
- topicAlias integer — Topic Alias Maximum: Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer
- willPayloadType string — LWT payload type: MQTT LWT payload type
Options: string, base64
- keepAlive integer — Keep Alive: Ensure that client remains connected to the broker and maintains an active session in seconds
- privateKey string — Private key: Private key can be added here.
- sessionExpiryInterval integer — Session Expiry Interval (seconds): The number that specifies how long a broker keeps a client's session information
- payloadFormat string — Payload Format Indicator: Allowing the server to understand packet without having to operate on the actual data
Options: utf-8, byte
- throttlingLimit integer — Throttling limit
- certificate string — Certificate: Certificate can be added here.
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- clientId string — Client ID: Client ID is required by MQTT server.
- insecureVerify boolean — Insecure Skip Verify: InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name
- messageExpiryInterval integer — Message Expiry Interval: Allow an expiry interval to be set when a message is published
- password string — Password: The password
- username string — Username: The username
- requestResponseInfo boolean — Request Response Info
- willPayload string — LWT payload: MQTT LWT payload
- willQoS integer — LWT QoS: MQTT LWT QoS attribute.
Options: 0, 1, 2
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "generic-mqtt-v5-ssl-gen-2",
"Config": "{\"name\": \"My MQTT - v5 Generic over SSL Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"insecureVerify\": false, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"responseTopic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"keepAlive\": 60, \"connectionTimeout\": 10, \"payloadFormat\": \"utf-8\", \"contentType\": \"placeholder_contentType\", \"topicAlias\": 7, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"willDelay\": 0, \"sessionExpiryInterval\": 0, \"messageExpiryInterval\": 0, \"userProperties\": {}, \"requestResponseInfo\": false, \"requestProblemInfo\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "generic-mqtt-v5-ssl-gen-2",
"Config": "{\"name\": \"My MQTT - v5 Generic over SSL Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8883, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"insecureVerify\": false, \"clientId\": \"5dlvtw2sbbn4hqltaecpit115\", \"username\": \"admin\", \"password\": \"password\", \"qos\": 1, \"workersCount\": 100, \"topic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"responseTopic\": \"loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json\", \"keepAlive\": 60, \"connectionTimeout\": 10, \"payloadFormat\": \"utf-8\", \"contentType\": \"placeholder_contentType\", \"topicAlias\": 7, \"willTopic\": \"integration/data\", \"willPayload\": \"placeholder_willPayload\", \"willPayloadType\": \"string\", \"willQoS\": 1, \"willRetained\": false, \"willDelay\": 0, \"sessionExpiryInterval\": 0, \"messageExpiryInterval\": 0, \"userProperties\": {}, \"requestResponseInfo\": false, \"requestProblemInfo\": false, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - MongoDB v4+
POST {{edgeUrl}}/cc/v2
Overview
MongoDB Integration enables Edge System to connect with MongoDB database
Supported Versions
- MongoDB 3.6 or higher
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of MongoDB Server (Must be reachable from Edge system) | Yes |
| Port | MongoDB Server port | Yes |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Auth database | Authentication database name (can be empty) | No |
| Auth mechanism | Authentication mechanism (can be one of "SCRAM-SHA-1", "MONGODB-CR", "MONGO-CR", "PLAIN", "MONGODB-X509") | No |
| Database | Database name. If database does not exist it is created | Yes |
| Collection | Collection name. If collection does not exist it is created | Yes |
| Mapping | Fields from a predefined message JSON structure can be mapped to a custom one. Example: {"sourceField": "targetField"} where 'sourceField' is a key in the predefined message, and 'targetField' is the key in the destination message. | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| MongoDB | 4.2 | N/A |
Provider ID: mongodb-v4
Provider Name: DB - MongoDB v4+
Required properties:
- database string — Database: The database name
- hostname string — Hostname: DNS name or IP of the host.
- port integer — Port: Port of MongoDB host.
- name string — Name: Instance Name
- collection string — Collection: The collection
Optional properties:
- throttlingLimit integer — Throttling limit
- authMechanism string — Auth mechanism: The mechanisms to confirm an identity and establish trust to ensure security in the driver and server before connecting
Options: SCRAM-SHA-1, MONGODB-CR, MONGO-CR, PLAIN, MONGODB-X509
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- mapping object — Mapping: The mapping list
- password string — Password: The password
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- username string — Username: The username
- authDatabase string — Auth database: The authentication database name
- queueMode string — Queue Mode
Options: lifo, fifo
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "mongodb-v4",
"Config": "{\"name\": \"My DB - MongoDB v4+ Integration\", \"hostname\": \"192.168.1.100\", \"port\": 27017, \"username\": \"admin\", \"password\": \"password\", \"authDatabase\": \"mydb\", \"authMechanism\": \"SCRAM-SHA-1\", \"database\": \"mydb\", \"collection\": \"mytable\", \"mapping\": {}, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "mongodb-v4",
"Config": "{\"name\": \"My DB - MongoDB v4+ Integration\", \"hostname\": \"192.168.1.100\", \"port\": 27017, \"username\": \"admin\", \"password\": \"password\", \"authDatabase\": \"mydb\", \"authMechanism\": \"SCRAM-SHA-1\", \"database\": \"mydb\", \"collection\": \"mytable\", \"mapping\": {}, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - NATS
POST {{edgeUrl}}/cc/v2
Overview
NATS Integration enables Edge System to connect to NATS server.
Supported Communication
-
Outbound (Publish data from Edge to NATS server) - Yes
-
Inbound (Subscribe data from NATS Server to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | NATS server host name | Yes |
| Port | NATS server port | Yes |
| NATS username | NATS username, which is part of the client's authentication credentials. | No |
| NATS password | NATS password, which is part of the client's authentication credentials. | No |
| Default topic name | Default topic for publishing | Yes |
| Enable TLS secure connection | If enabled, message are transmitted securely. This certificate ensures that data transmitted between the server and clients is encrypted and secure, safeguarding it from unauthorized access and eavesdropping. | No |
| Insecure skip verify | If enabled, the verification of the server's certificate and hostname is skipped. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| N/A | N/A | N/A |
Provider ID: nats
Provider Name: NATS
Required properties:
- port integer — Port: Port of NATS host.
- topic string — Default topic name
- enableTLS boolean — Enable TLS secure connection
- hostname string — Hostname
- name string — Name: Instance Name
Optional properties:
- insecureSkipVerify boolean — Insecure skip verify: InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- password string — NATS Password: Password
- persistentStorage boolean — Persistent storage
- username string — NATS Username: Username
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "nats",
"Config": "{\"name\": \"My NATS Integration\", \"hostname\": \"192.168.1.100\", \"port\": 4222, \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"enableTLS\": false, \"insecureSkipVerify\": false, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "nats",
"Config": "{\"name\": \"My NATS Integration\", \"hostname\": \"192.168.1.100\", \"port\": 4222, \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"enableTLS\": false, \"insecureSkipVerify\": false, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - NATS Gen 2
POST {{edgeUrl}}/cc/v2
Overview
NATS Gen 2 Integration enables Edge System to connect to NATS server.
Supported Communication
-
Outbound (Publish data from Edge to NATS server) - Yes
-
Inbound (Subscribe data from NATS Server to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | NATS server host name | Yes |
| Port | NATS server port | Yes |
| NATS username | NATS username, which is part of the client's authentication credentials. | No |
| NATS password | NATS password, which is part of the client's authentication credentials. | No |
| Default topic name | Default topic for publishing | Yes |
| Enable TLS secure connection | If enabled, message are transmitted securely. This certificate ensures that data transmitted between the server and clients is encrypted and secure, safeguarding it from unauthorized access and eavesdropping. | No |
| Insecure skip verify | If enabled, the verification of the server's certificate and hostname is skipped. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| N/A | N/A | N/A |
Provider ID: nats-gen-2
Provider Name: NATS Gen 2
Required properties:
- enableTLS boolean — Enable TLS secure connection
- port integer — Port: Port of NATS host.
- topic string — Default topic name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- hostname string — Hostname
- name string — Name: Instance Name
Optional properties:
- connectTimeoutSeconds integer — Connect timeout (second): Timeout sets the timeout for a Dial operation on a connection
- flushTimeoutSeconds integer — Flush timeout (second): Timeout for flushing buffered messages to the server during publish operations
- maxReconnect integer — Max Reconnect: MaxReconnect sets the number of reconnect attempts that will be tried before giving up. If negative, then it will never give up trying to reconnect, If zero, then will use default value (5)
- password string — NATS Password: Password
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- reconnectWait integer — Reconnect wait (second): ReconnectWait sets the time to backoff after attempting a reconnect to a server that we were already connected to previously
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- username string — NATS Username: Username
- insecureSkipVerify boolean — Insecure skip verify: InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.
- throttlingLimit integer — Throttling limit
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "nats-gen-2",
"Config": "{\"name\": \"My NATS Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 4222, \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"workersCount\": 100, \"enableTLS\": false, \"insecureSkipVerify\": false, \"maxReconnect\": 5, \"reconnectWait\": 2, \"connectTimeoutSeconds\": 2, \"flushTimeoutSeconds\": 2, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "nats-gen-2",
"Config": "{\"name\": \"My NATS Gen 2 Integration\", \"hostname\": \"192.168.1.100\", \"port\": 4222, \"username\": \"admin\", \"password\": \"password\", \"topic\": \"integration/data\", \"workersCount\": 100, \"enableTLS\": false, \"insecureSkipVerify\": false, \"maxReconnect\": 5, \"reconnectWait\": 2, \"connectTimeoutSeconds\": 2, \"flushTimeoutSeconds\": 2, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Oracle Smart Operations in Fusion Cloud SCM
POST {{edgeUrl}}/cc/v2
Overview
The Oracle Fusion Cloud integration enables Edge System to connect with Oracle Fusion Cloud REST APIs using OAuth2 authentication.
Supported Communication
-
Outbound (Publish data from Edge to Oracle Fusion Cloud) - Yes
-
Inbound (Subscribe data from Oracle Fusion Cloud to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Method | HTTP method for Oracle Fusion Cloud (only supported POST) | Yes |
| Endpoint | Oracle Fusion Cloud API endpoint URL | Yes |
| OAuth2 Token Endpoint | OAuth2 token endpoint URL for authentication | Yes |
| OAuth2 Client ID | OAuth2 client ID for authentication | Yes |
| OAuth2 Client Secret | OAuth2 client secret for authentication | Yes |
| OAuth2 Scope | OAuth2 scope(s) for authentication (comma-separated) | No |
| Headers | Custom HTTP headers to include in requests | No |
| Params | URL parameters (query strings) to append to requests | No |
| Mapping | Data from a payload could be mapped into a custom one. Example: {"targetField": "{{payload.sourceField}}"} where the source field from the payload is mapped to a target field | No |
| Parallel publish count | Number of parallel workers for publishing data (default: 100) | No |
| Insecure skip verify | Controls whether the client verifies the server's certificate chain. Select to disable verification | No |
| Request timeout | Timeout for HTTP requests in seconds (default: 30) | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first | No |
Provider ID: rest-oracle-smart-operations-fusion
Provider Name: Oracle Smart Operations in Fusion Cloud SCM
Required properties:
- method string — Method: Method (Oracle Fusion Cloud supports POST only)
Options: POST
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- endpoint string — Endpoint
- oAuth2ClientID string — OAuth2 - Client ID
- oAuth2TokenEndpoint string — OAuth2 - Token Endpoint: OAuth2 - Token Endpoint URL
- name string — Name: Instance Name
- oAuth2ClientSecret string — OAuth2 - Client Secret: OAuth2 - Client Secret Key
Optional properties:
- persistentStorage boolean — Persistent storage
- requestTimeout integer — Request timeout: Request timeout in seconds
- headers object — Headers: The request headers
- oAuth2Scope string — OAuth2 - Scope: OAuth2 - Scope (comma separated value)
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- params object — Params: The request params
- queueMode string — Queue Mode
Options: lifo, fifo
- responseTopic string — Response Topic: Nats response topic payload for All requests
- throttlingLimit integer — Throttling limit
- insecureSkipVerify boolean — Insecure skip verify: InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.
- mapping object — Mapping: The mapping
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "rest-oracle-smart-operations-fusion",
"Config": "{\"name\": \"My Oracle Smart Operations in Fusion Cloud SCM Integration\", \"method\": \"POST\", \"endpoint\": \"/example/path\", \"oAuth2TokenEndpoint\": \"/example/path\", \"oAuth2ClientID\": \"my-client-id\", \"oAuth2ClientSecret\": \"password\", \"oAuth2Scope\": \"view,read\", \"headers\": {}, \"params\": {}, \"mapping\": {}, \"requestTimeout\": 10, \"insecureSkipVerify\": true, \"workersCount\": 100, \"responseTopic\": \"/response_topic\", \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "rest-oracle-smart-operations-fusion",
"Config": "{\"name\": \"My Oracle Smart Operations in Fusion Cloud SCM Integration\", \"method\": \"POST\", \"endpoint\": \"/example/path\", \"oAuth2TokenEndpoint\": \"/example/path\", \"oAuth2ClientID\": \"my-client-id\", \"oAuth2ClientSecret\": \"password\", \"oAuth2Scope\": \"view,read\", \"headers\": {}, \"params\": {}, \"mapping\": {}, \"requestTimeout\": 10, \"insecureSkipVerify\": true, \"workersCount\": 100, \"responseTopic\": \"/response_topic\", \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - REST API
POST {{edgeUrl}}/cc/v2
Overview
The REST API integration enables Edge System to connect with RESTful API.
Supported Communication
-
Outbound (Publish data from Edge to REST Server ) - Yes
-
Inbound (Subscribe data from REST Server to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Method | HTTP methods in REST APIs, GET, POST, PUT, and DELETE available | Yes |
| Endpoint | Endpoints are the entry points to interact with the API | Yes |
| Headers | A request header is an HTTP header that can be used in an HTTP request to provide information about the request context | No |
| Params | URL parameters (query strings) additional information for a given URL | No |
| Mapping | Data from a payload could be mapped into a custom one. Example: {"from": "to"} where "from" is a key from predefined payload, and "to" is a key from destination payload | No |
| Parallel publish count | Parallel publish count indicates how many data streams or data items are being sent from the edge system to a central system or cloud simultaneously. | Yes |
| Insecure skip verify | InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name. Select to disable verification | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: rest
Provider Name: REST API
Required properties:
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- endpoint string — Endpoint
- method string — Method
Options: GET, POST, PUT, DELETE
- name string — Name: Instance Name
Optional properties:
- headers object — Headers: The request headers
- insecureSkipVerify boolean — Insecure skip verify: InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.
- oAuth2Scope string — OAuth2 - Scope: OAuth2 - Scope (comma separated value)
- queueMode string — Queue Mode
Options: lifo, fifo
- oAuth2ClientSecret string — OAuth2 - Client Secret: OAuth2 - Client Secret Key
- params object — Params: The request params
- oAuth2ClientID string — OAuth2 - Client ID
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- mapping object — Mapping: The mapping
- oAuth2TokenEndpoint string — OAuth2 - Token Endpoint: OAuth2 - Token Endpoint URL
- persistentStorage boolean — Persistent storage
- requestTimeout integer — Request timeout: Request timeout in seconds
- throttlingLimit integer — Throttling limit
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "rest",
"Config": "{\"name\": \"My REST API Integration\", \"method\": \"POST\", \"endpoint\": \"/example/path\", \"headers\": {}, \"params\": {}, \"mapping\": {}, \"requestTimeout\": 10, \"insecureSkipVerify\": true, \"workersCount\": 100, \"oAuth2TokenEndpoint\": \"/example/path\", \"oAuth2ClientSecret\": \"password\", \"oAuth2ClientID\": \"my-client-id\", \"oAuth2Scope\": \"view,read\", \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "rest",
"Config": "{\"name\": \"My REST API Integration\", \"method\": \"POST\", \"endpoint\": \"/example/path\", \"headers\": {}, \"params\": {}, \"mapping\": {}, \"requestTimeout\": 10, \"insecureSkipVerify\": true, \"workersCount\": 100, \"oAuth2TokenEndpoint\": \"/example/path\", \"oAuth2ClientSecret\": \"password\", \"oAuth2ClientID\": \"my-client-id\", \"oAuth2Scope\": \"view,read\", \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - Microsoft SQL Server SSL
POST {{edgeUrl}}/cc/v2
Overview
The Microsoft SQL Server SSL integration enables Edge System to connect with MSSQL Database via SSL.
Supported Communication
-
Outbound (Write from Edge to SQL Server) - Yes
-
Inbound (Read from SQL Server to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of MSSQL Server (Must be reachable from Edge system) | Yes |
| Port | MSSQL Server port | Yes |
| SSL mode | If disable is selected, data sent between client and server is not encrypted. If true is selected, data sent between client and server is encrypted. If false is selected, data sent between client and server is not encrypted beyond the login packet. (default is disable) | Yes |
| CA certificate | SSL CA Certificate (default certificate will be used if this field is empty) | No |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Database | Database name | Yes |
| Table | Table name | Yes |
| Mapping | Data from a predefined table could be mapped into a custom one. Example: {"from": "to"} where "from" is a column from predefined table, and "to" is a column from destination table | No |
| Create table | If selected and table doesn't exist, the table is created with the necessary format [1] | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version |
|---|---|
| Microsoft SQL Server | v15 (2019) |
| Microsoft SQL Server | v14 (2017) |
Provider ID: mssql-ssl
Provider Name: DB - Microsoft SQL Server SSL
Required properties:
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- password string — Password: The password
- port integer — Port: Port of MSSQL host.
- table string — Table: The table name
- hostname string — Hostname: DNS name or IP of the host.
- sslMode string — SSL Mode: SSL mode
Options: disable, true, false
- username string — Username: The username
- name string — Name: Instance Name
- database string — Database: The database name
Optional properties:
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
- mapping object — Mapping: The mapping list
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "mssql-ssl",
"Config": "{\"name\": \"My DB - Microsoft SQL Server SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1433, \"sslMode\": \"true\", \"caCert\": \"<certificate>\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "mssql-ssl",
"Config": "{\"name\": \"My DB - Microsoft SQL Server SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 1433, \"sslMode\": \"true\", \"caCert\": \"<certificate>\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - MySQL SSL
POST {{edgeUrl}}/cc/v2
Overview
MySQL SSL Integration enables Edge System to connect with MySQL Database via SSL
Supported Versions
MySQL (4.1+), MariaDB, Percona Server, Google CloudSQL or Sphinx (2.2.3+)
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of MSSQL Server (Must be reachable from Edge system) | Yes |
| CA Certificate | SSL CA Certificate | No |
| Certificate | SSL Certificate | No |
| Private key | SSL Private key | No |
| Port | MSSQL Server port | Yes |
| Username | User name | Yes |
| Password | User password (can be empty) | No |
| Database | Database name | Yes |
| Table | Table name | Yes |
| Create table | If selected and table doesn't exist, the table is created with the necessary format [1] | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| MySQL | 8 | N/A |
Provider ID: mysql-ssl
Provider Name: DB - MySQL SSL
Required properties:
- name string — Name: Instance Name
- port integer — Port: Port of MySql host.
- table string — Table: The table name
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- username string — Username: The username
- database string — Database: The database name
- hostname string — Hostname: DNS name or IP of the host.
Optional properties:
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- throttlingLimit integer — Throttling limit
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- password string — Password: The password
- privateKey string — Private key: Private key can be added here.
- sslMode string — SSL Mode: SSL mode
Options: require
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
- certificate string — Certificate: Certificate can be added here.
- mapping object — Mapping: The mapping list
- queueMode string — Queue Mode
Options: lifo, fifo
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "mysql-ssl",
"Config": "{\"name\": \"My DB - MySQL SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 3306, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1, \"sslMode\": \"require\"}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "mysql-ssl",
"Config": "{\"name\": \"My DB - MySQL SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 3306, \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1, \"sslMode\": \"require\"}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - PostgreSQL SSL
POST {{edgeUrl}}/cc/v2
Overview
PostgreSQL SSL Integration enables Edge System to connect with PostgreSQL Database via SSL
Supported Communication
-
Outbound (Write from Edge to Database) - Yes
-
Inbound (Read from Database to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | IP Address or Hostname of PostgreSQL Server (Must be reachable from Edge system) | Yes |
| Port | PostgreSQL Server port | Yes |
| SSL Mode | SSL Mode[1] - one of "require", "verify-ca", "verify-full" | Yes |
| CA Certificate | SSL CA Certificate | No |
| Certificate | SSL Certificate | No |
| Private key | SSL Private key | No |
| Username | User name (can be empty) | No |
| Password | User password (can be empty) | No |
| Database | Database name | Yes |
| Table | Table name | Yes |
| Create table | If selected and table doesn't exist, the table is created with the necessary format [1] | No |
| Commit timeout | Transaction commit timeout (ms) | No |
| Max transaction size | Maximum number of messages before a transaction is committed regardless of timeout | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| PostgreSQL | 12 | N/A |
Provider ID: postgresql-ssl
Provider Name: DB - PostgreSQL SSL
Required properties:
- hostname string — Hostname: DNS name or IP of the host.
- port integer — Port: Port of PostgreSQL host.
- sslMode string — SSL Mode: SSL mode
Options: require, verify-ca, verify-full
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- database string — Database: The database name
- name string — Name: Instance Name
- table string — Table: The table name
Optional properties:
- certificate string — Certificate: Certificate can be added here.
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
- password string — Password: The password
- persistentStorage boolean — Persistent storage
- privateKey string — Private key: Private key can be added here.
- throttlingLimit integer — Throttling limit
- username string — Username: The username
- mapping object — Mapping: The mapping list
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "postgresql-ssl",
"Config": "{\"name\": \"My DB - PostgreSQL SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5432, \"sslMode\": \"require\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "postgresql-ssl",
"Config": "{\"name\": \"My DB - PostgreSQL SSL Integration\", \"hostname\": \"192.168.1.100\", \"port\": 5432, \"sslMode\": \"require\", \"caCert\": \"<certificate>\", \"certificate\": \"<certificate>\", \"privateKey\": \"<certificate>\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"table\": \"mytable\", \"mapping\": {}, \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - DB - Snowflake
POST {{edgeUrl}}/cc/v2
Overview
Snowflake Integration enables Edge System to connect with Snowflake’s data warehouse.
Supported Communication
-
Outbound (Write from Edge to Snowflake) - Yes
-
Inbound (Read from Snowflake to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector instance name | Yes |
| Account | Snowflake account ID | Yes |
| Username | Username | Yes |
| Password | Password | Yes |
| Database | Database name | Yes |
| Schema | Schema name | Yes |
| Warehouse | Warehouse name | Yes |
| Table | Table name | Yes |
| Create table | Create the table if it doesn’t exist. User must have the permission. | No |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Provider ID: snowflake
Provider Name: DB - Snowflake
Required properties:
- accountName string — Account: Account Name
- warehouse string — Warehouse: The warehouse name
- schema string — Schema: The schema name
- username string — Username: The username
- table string — Table: The table name
- createTable boolean — Create table: Create the table if it doesn't exist. To do this you need permissions.
- password string — Password: The password
- database string — Database: The database name
- name string — Name: Instance Name
Optional properties:
- commitTimeout integer — Commit timeout: Transaction commit timeout (ms)
- maxTransactionSize integer — Max transaction size: Maximum number of messages before a transaction is committed regardless of timeout
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
- bulkSize integer — Bulk insert count: Buffer messages and perform bulk insert once the Bulk insert count is reached
- persistentStorage boolean — Persistent storage
- queueMode string — Queue Mode
Options: lifo, fifo
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "snowflake",
"Config": "{\"name\": \"My DB - Snowflake Integration\", \"accountName\": \"placeholder_accountName\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"schema\": \"placeholder_schema\", \"warehouse\": \"placeholder_warehouse\", \"table\": \"mytable\", \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "snowflake",
"Config": "{\"name\": \"My DB - Snowflake Integration\", \"accountName\": \"placeholder_accountName\", \"username\": \"admin\", \"password\": \"password\", \"database\": \"mydb\", \"schema\": \"placeholder_schema\", \"warehouse\": \"placeholder_warehouse\", \"table\": \"mytable\", \"createTable\": false, \"commitTimeout\": 1000, \"maxTransactionSize\": 100, \"bulkSize\": 0, \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Splunk
POST {{edgeUrl}}/cc/v2
Overview
splunk-http Integration enables Edge System to connect with Splunk via HTTP
Supported Communication
-
Outbound (Publish data from Edge to Splunk) - Yes
-
Inbound (Subscribe data from Splunk to Edge) - No
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector Name | Yes |
| Hostname | Splunk server host name | Yes |
| Port | Splunk server port | Yes |
| Use SSL | Use SSL HTTP connection | No |
| Endpoint | The Splunk endpoint. The default is services/collector/event. | Yes |
| Token | Token for access to Splunk server | Yes |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported.
| Product | Version | Date |
|---|---|---|
| N/A | N/A | N/A |
Provider ID: splunk-http
Provider Name: Splunk
Required properties:
- port integer — Port: Port of splunk host.
- useSSL boolean — Use SSL
- hostname string — Hostname
- name string — Name: Instance Name
- token string — Token: Splunk token
- topic string — Endpoint: Splunk endpoint
Optional properties:
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- queueMode string — Queue Mode
Options: lifo, fifo
- throttlingLimit integer — Throttling limit
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "splunk-http",
"Config": "{\"name\": \"My Splunk Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8088, \"useSSL\": true, \"topic\": \"integration/data\", \"token\": \"password\", \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "splunk-http",
"Config": "{\"name\": \"My Splunk Integration\", \"hostname\": \"192.168.1.100\", \"port\": 8088, \"useSSL\": true, \"topic\": \"integration/data\", \"token\": \"password\", \"workersCount\": 1, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}
Create Instance - Kafka SSL Gen 2
POST {{edgeUrl}}/cc/v2
Overview
The Kafka SSL Gen 2 integration enables Edge System to connect with the Kafka broker.
Supported Versions
Compatible with Kafka versions from 0.10.1.0 to 2.1.0.
Supported Communication
-
Outbound (Publish data from Edge to Kafka broker) - Yes
-
Inbound (Subscribe data from Kafka broker to Edge) - Yes
Configurations
| Variable | Detail | Required |
|---|---|---|
| Name | Connector name | Yes |
| Brokers | List of Kafka brokers separated by comma (Must be reachable from Edge system) | Yes |
| SASL mechanism | SASL mechanism values include: NONE, SASL_PLAINTEXT. SCRAM-SHA-256, and SCRAM-SHA-512. This field can only be used if username is not empty | Yes |
| Username | User name | No |
| Password | User password | No |
| CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection | No |
| Certificate | SSL Certificate | No |
| Private key | SSL certificate private key | No |
| Insecure skip verify | Insecure Skip Verify controls whether a client verifies the server's certificate chain and host name | No |
| Topic | Default topic for Publish | Yes |
| Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
| Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
| Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above.
| Product | Version | Date |
|---|---|---|
| CloudKarafka | 0.11.0.0 | N/A |
| Confluent | N/A | N/A |
Provider ID: kafka-ssl-gen-2
Provider Name: Kafka SSL Gen 2
Required properties:
- name string — Name: Instance Name
- insecureSkipVerify boolean — Insecure Skip Verify: Insecure Skip Verify controls whether a client verifies the server's certificate chain and host name
- topic string — Topic: The topic name
- workersCount integer — Parallel Publish Count: The number of simultaneously publishing messages. Check information above for details.
- saslMechanism string — SASL mechanism
Options: NONE, SASL_PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512
- brokers string — Brokers list separated by comma
Optional properties:
- autoCreateTopic boolean — Auto create topic: Enable automatic topic creation when the topic is not found, this also requires to enable auto create topic config on the Kafka broker.
- disableIdempotentWrite boolean — Disable Idempotent Write: Disable idempotent producer writes. When disabled, duplicate messages may be produced during retries.
- connIdleTimeoutMs integer — Connection Idle Timeout (ms): Maximum idle time before closing connections
- heartbeatIntervalMs integer — Heartbeat Interval (ms): Consumer group heartbeat interval
- metadataMaxAgeMs integer — Metadata Max Age (ms): Maximum age of metadata before refresh
- rebalanceTimeoutMs integer — Rebalance Timeout (ms): Consumer group rebalance timeout
- requestTimeoutMs integer — Request Timeout (ms): Maximum time to wait for requests to complete
- throttlingLimit integer — Throttling limit
- certificate string — Certificate: Certificate can be added here.
- fetchMinBytes integer — Fetch Min Bytes: Minimum bytes to fetch in each request
- metadataMinRefreshMs integer — Metadata Min Refresh (ms): Minimum time between metadata refreshes
- password string — Password: The password
- privateKey string — Private key: Private key can be added here.
- producerTimeoutMs integer — Producer Timeout (ms): Maximum time to wait for producer response
- queueMode string — Queue Mode
Options: lifo, fifo
- requiredAcks string — Required Acknowledgments: Level of acknowledgment reliability (none=0, leader=1, all=-1)
Options: none, leader, all
- caCert string — CA Certificate: CA certificate can be added here. It can also be added to system wide certificate list.
- clientId string — Client ID: Client identifier sent to Kafka brokers
- retryBackoffMs integer — Retry Backoff (ms): Backoff time between retry attempts
- writeTimeoutMs integer — Write Timeout (ms): Write operation timeout
- dialTimeoutMs integer — Dial Timeout (ms): Connection establishment timeout
- persistentStorage boolean — Persistent storage
- plSizeLimitGB integer — Persistent storage size limit: Persistent storage size limit in GB
- producerBatchMaxBytes integer — Producer Batch Max Bytes: Maximum size of producer batches in bytes
- producerLingerMs integer — Producer Linger (ms): Time to wait for additional messages before sending batch
- readTimeoutMs integer — Read Timeout (ms): Read operation timeout
- compressionType string — Compression Type: Compression algorithm for message payloads
Options: none, gzip, snappy, lz4, zstd
- fetchMaxBytes integer — Fetch Max Bytes: Maximum bytes to fetch in each request
- maxPartitionBytes integer — Max Partition Bytes: Maximum bytes to fetch per partition
- produceRetries integer — Produce Retries: Maximum number of retry attempts for failed requests
- sessionTimeoutMs integer — Session Timeout (ms): Consumer group session timeout
- fetchMaxWaitMs integer — Fetch Max Wait (ms): Maximum time to wait for fetch requests
- maxMessageBytes integer — Max Message Bytes: Maximum message size in bytes
- username string — Username: The username
Request Body
GraphQL Query
mutation CreateInstance($input: CreateInstanceRequest!) {
CreateInstance(input: $input) {
InstanceID
ProviderID
Config
Enabled
ErrorLogging
TagSyncEnabled
System
Online
Status
SizeOnDisk
ErrCode
ErrMsg
}
}
Variables
{
"input": {
"ProviderID": "kafka-ssl-gen-2",
"Config": "{\"name\": \"My Kafka SSL Gen 2 Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"\", \"certificate\": \"\", \"privateKey\": \"\", \"insecureSkipVerify\": false, \"topic\": \"integration/data\", \"autoCreateTopic\": false, \"clientId\": \"my-client-id\", \"requestTimeoutMs\": 30000, \"connIdleTimeoutMs\": 540000, \"metadataMaxAgeMs\": 300000, \"metadataMinRefreshMs\": 100, \"requiredAcks\": \"all\", \"disableIdempotentWrite\": false, \"producerTimeoutMs\": 30000, \"producerBatchMaxBytes\": 1000000, \"producerLingerMs\": 5, \"compressionType\": \"none\", \"maxMessageBytes\": 1000000, \"fetchMinBytes\": 1, \"fetchMaxBytes\": 52428800, \"fetchMaxWaitMs\": 500, \"maxPartitionBytes\": 1048576, \"sessionTimeoutMs\": 10000, \"heartbeatIntervalMs\": 3000, \"rebalanceTimeoutMs\": 60000, \"retryBackoffMs\": 100, \"produceRetries\": 2147483647, \"dialTimeoutMs\": 10000, \"writeTimeoutMs\": 10000, \"readTimeoutMs\": 10000, \"workersCount\": 100, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false
}
}
Response
Status: 200 OK
{
"data": {
"CreateInstance": {
"InstanceID": "<generated-uuid>",
"ProviderID": "kafka-ssl-gen-2",
"Config": "{\"name\": \"My Kafka SSL Gen 2 Integration\", \"brokers\": \"one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094\", \"saslMechanism\": \"SCRAM-SHA-256\", \"username\": \"admin\", \"password\": \"password\", \"caCert\": \"\", \"certificate\": \"\", \"privateKey\": \"\", \"insecureSkipVerify\": false, \"topic\": \"integration/data\", \"autoCreateTopic\": false, \"clientId\": \"my-client-id\", \"requestTimeoutMs\": 30000, \"connIdleTimeoutMs\": 540000, \"metadataMaxAgeMs\": 300000, \"metadataMinRefreshMs\": 100, \"requiredAcks\": \"all\", \"disableIdempotentWrite\": false, \"producerTimeoutMs\": 30000, \"producerBatchMaxBytes\": 1000000, \"producerLingerMs\": 5, \"compressionType\": \"none\", \"maxMessageBytes\": 1000000, \"fetchMinBytes\": 1, \"fetchMaxBytes\": 52428800, \"fetchMaxWaitMs\": 500, \"maxPartitionBytes\": 1048576, \"sessionTimeoutMs\": 10000, \"heartbeatIntervalMs\": 3000, \"rebalanceTimeoutMs\": 60000, \"retryBackoffMs\": 100, \"produceRetries\": 2147483647, \"dialTimeoutMs\": 10000, \"writeTimeoutMs\": 10000, \"readTimeoutMs\": 10000, \"workersCount\": 100, \"throttlingLimit\": 0, \"persistentStorage\": true, \"queueMode\": \"lifo\", \"plSizeLimitMB\": 1024, \"plSizeLimitGB\": 1}",
"Enabled": false,
"ErrorLogging": false,
"TagSyncEnabled": false,
"System": false,
"Online": false,
"Status": "DISABLED",
"SizeOnDisk": 0,
"ErrCode": null,
"ErrMsg": null
}
}
}