You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Configuration Options

IoT Bridge for Snowflake is configured with a configuration file on the filesystem of the AWS or Azure instance.

If you are unfamiliar with how to access the instance, see these pages for access instructions:

AWS AMI Access Instructions

Azure VM Access Instructions



Also note after modifying the configuration, the application must be restarted. This can be done with the following command.

sudo /etc/init.d/ibsnow restart

The path to the configuration file is:

/opt/ibsnow/conf/ibsnow.properties

Once you open the file, you will see the following options.

# The IBSNOW instance friendly name. If ommitted, it will become 'IBSNOW-ec2-instance-id'
#ibsnow_instance_name = 

# The AWS region the target Snowflake instance is in - if commented out, the region will default to the region the IoT Bridge for AWS EC2 instance is in
#aws_snowflake_region = us-east-1

# The MQTT Server URL
mqtt_server_url = ssl://REPLACE_WITH_MQTT_SERVER_ENDPOINT:8883

# The MQTT Server name
mqtt_server_name = My MQTT Server

# The MQTT username (if required by the MQTT Server)
#mqtt_username = 

# The MQTT password (if required by the MQTT Server)
#mqtt_password = 

# The MQTT keep-alive timeout in seconds
#mqtt_keepalive_timeout = 30

# The path to the TLS Certificate Authority certificate chain
#mqtt_ca_cert_chain_path = /opt/ibsnow/conf/certs/

# The path to the TLS certificate
#mqtt_client_cert_path = /opt/ibsnow/conf/certs/

# The path to the TLS private key
#mqtt_client_private_key_path = /opt/ibsnow/conf/certs/

# The TLS private key password
#mqtt_client_private_key_password =

# Whether or not to verify the hostname against the server certificate
#mqtt_verify_hostname = false

# The Sparkplug sequence reordering timeout in milliseconds
sequence_reordering_timeout = 5000

# Whether or not to block auto-rebirth requests
#block_auto_rebirth = false

# The primary host ID if this is the acting primary host
#primary_host_id =

# The MQTT Client ID - It is recommend to not set this unless there is a specific reason to do so. If this is not set a random client ID will be automatically generated
#client_id =

# Snowflake streaming connection properties - A custom client name for the connection (e.g. MyClient)
snowflake_streaming_client_name =

# Snowflake streaming connection properties - A custom channel name for the connection (e.g. MyChannel)
# If this is left blank/empty, Channel names of the Sparkplug Group ID will be used instead of a single channel
# snowflake_streaming_channel_name =

# Snowflake streaming connection properties - The Table name associated with the Database and Schema already provisioned in the Snowflake account (e.g. MyTable)
snowflake_streaming_table_name =

# Snowflake notify connection properties - The Database name associated with the connection that is already provisioned in the Snowflake account (e.g. MyDb)
snowflake_notify_db_name =

# Snowflake notify connection properties - The Schema name associated with the Database already provisioned in the Snowflake account (e.g. PUBLIC)
snowflake_notify_schema_name = PUBLIC

# Snowflake notify connection properties - The Warehouse name associated with the notifications already provisioned in the Snowflake account (e.g. PUBLIC)
snowflake_notify_warehouse_name =

# Whether or not to create and update IBSNOW infomational tracking metrics
# ibsnow_metrics_enabled = true

# The Sparkplug Group ID to use for IBSNOW asset names
ibsnow_metrics_sparkplug_group_id = IBSNOW Metrics

# Whether or not to send notification tasks to Snowflake based on incoming Sparkplug events
snowflake_notify_task_enabled = true

# The number of milliseconds to delay after receiving an NBIRTH before notifying Snowflake over the event (requires snowflake_notify_task_enabled is true)
snowflake_notify_nbirth_task_delay = 10000

# The number of milliseconds to delay after receiving a DBIRTH or DATA message before notifying Snowflake over the event (requires snowflake_notify_task_enabled is true)
snowflake_notify_data_task_delay = 5000

Configuration Examples

If you are using AWS IoT Core then your configuration file should look similar to the one below.

# The IBSNOW instance friendly name. If ommitted, it will become 'IBSNOW-ec2-instance-id'
#ibsnow_instance_name = 

# The AWS region the target Snowflake instance is in - if commented out, the region will default to the region the IoT Bridge for AWS EC2 instance is in
#aws_snowflake_region = us-east-1

# The MQTT Server URL
mqtt_server_url = ssl://b9ffnzzzzzzzz-ats.iot.us-east-1.amazonaws.com:8883

# The MQTT Server name
mqtt_server_name = AWS IoT Core Server

# The MQTT username (if required by the MQTT Server)
#mqtt_username =

# The MQTT password (if required by the MQTT Server)
#mqtt_password =

# The MQTT keep-alive timeout in seconds
#mqtt_keepalive_timeout = 30

# The path to the TLS Certificate Authority certificate chain
mqtt_ca_cert_chain_path = /opt/ibsnow/conf/certs/AmazonRootCA1.pem

# The path to the TLS certificate
mqtt_client_cert_path = /opt/ibsnow/conf/certs/72d382zzzz.cert.pem

# The path to the TLS private key
mqtt_client_private_key_path = /opt/ibsnow/conf/certs/72d382zzzz.private.key

# The TLS private key password
#mqtt_client_private_key_password =

# Whether or not to verify the hostname against the server certificate
mqtt_verify_hostname = true

# The Sparkplug sequence reordering timeout in milliseconds
sequence_reordering_timeout = 5000

# Whether or not to block auto-rebirth requests
#block_auto_rebirth = false

# The primary host ID if this is the acting primary host
#primary_host_id =

# The MQTT Client ID - It is recommend to not set this unless there is a specific reason to do so. If this is not set a random client ID will be automatically generated
#client_id =

# Snowflake streaming connection properties - A custom client name for the connection (e.g. MyClient)
snowflake_streaming_client_name = MY_CLIENT

# Snowflake streaming connection properties - A custom channel name for the connection (e.g. MyChannel)
# If this is left blank/empty, Channel names of the Sparkplug Group ID will be used instead of a single channel
# snowflake_streaming_channel_name =

# Snowflake streaming connection properties - The Table name associated with the Database and Schema already provisioned in the Snowflake account (e.g. MyTable)
snowflake_streaming_table_name = SPARKPLUG_RAW

# Snowflake notify connection properties - The Database name associated with the connection that is already provisioned in the Snowflake account (e.g. MyDb)
snowflake_notify_db_name = cl_bridge_node_db

# Snowflake notify connection properties - The Schema name associated with the Database already provisioned in the Snowflake account (e.g. PUBLIC)
snowflake_notify_schema_name = stage_db

# Snowflake notify connection properties - The Warehouse name associated with the notifications already provisioned in the Snowflake account (e.g. PUBLIC)
snowflake_notify_warehouse_name = cl_bridge_ingest_wh

# Whether or not to create and update IBSNOW infomational tracking metrics
# ibsnow_metrics_enabled = true

# The Sparkplug Group ID to use for IBSNOW asset names
ibsnow_metrics_sparkplug_group_id = IBSNOW Metrics

# Whether or not to send notification tasks to Snowflake based on incoming Sparkplug events
snowflake_notify_task_enabled = true

# The number of milliseconds to delay after receiving an NBIRTH before notifying Snowflake over the event (requires snowflake_notify_task_enabled is true)
snowflake_notify_nbirth_task_delay = 10000

# The number of milliseconds to delay after receiving a DBIRTH or DATA message before notifying Snowflake over the event (requires snowflake_notify_task_enabled is true)
snowflake_notify_data_task_delay = 5000

If you are using Cirrus Link's Chariot MQTT Server using a real signed TLS certification then your configuration file should look similar to the one below.

# The IBSNOW instance friendly name. If ommitted, it will become 'IBSNOW-ec2-instance-id'
#ibsnow_instance_name = 

# The AWS region the target Snowflake instance is in - if commented out, the region will default to the region the IoT Bridge for AWS EC2 instance is in
#aws_snowflake_region = us-east-1

# The MQTT Server URL
mqtt_server_url = ssl://chariot.mycompany.com:8883

# The MQTT Server name
mqtt_server_name = Chariot MQTT Server

# The MQTT username (if required by the MQTT Server)
mqtt_username = admin

# The MQTT password (if required by the MQTT Server)
mqtt_password = changeme

# The MQTT keep-alive timeout in seconds
#mqtt_keepalive_timeout = 30

# The path to the TLS Certificate Authority certificate chain
#mqtt_ca_cert_chain_path = /opt/ibsnow/conf/certs/

# The path to the TLS certificate
#mqtt_client_cert_path = /opt/ibsnow/conf/certs/

# The path to the TLS private key
#mqtt_client_private_key_path = /opt/ibsnow/conf/certs/

# The TLS private key password
#mqtt_client_private_key_password =

# Whether or not to verify the hostname against the server certificate
mqtt_verify_hostname = true

# The Sparkplug sequence reordering timeout in milliseconds
sequence_reordering_timeout = 5000

# Whether or not to block auto-rebirth requests
#block_auto_rebirth = false

# The primary host ID if this is the acting primary host
#primary_host_id =

# The MQTT Client ID - It is recommend to not set this unless there is a specific reason to do so. If this is not set a random client ID will be automatically generated
#client_id =

# Snowflake streaming connection properties - A custom client name for the connection (e.g. MyClient)
snowflake_streaming_client_name = MY_CLIENT

# Snowflake streaming connection properties - A custom channel name for the connection (e.g. MyChannel)
# If this is left blank/empty, Channel names of the Sparkplug Group ID will be used instead of a single channel
# snowflake_streaming_channel_name =

# Snowflake streaming connection properties - The Table name associated with the Database and Schema already provisioned in the Snowflake account (e.g. MyTable)
snowflake_streaming_table_name = SPARKPLUG_RAW

# Snowflake notify connection properties - The Database name associated with the connection that is already provisioned in the Snowflake account (e.g. MyDb)
snowflake_notify_db_name = cl_bridge_node_db

# Snowflake notify connection properties - The Schema name associated with the Database already provisioned in the Snowflake account (e.g. PUBLIC)
snowflake_notify_schema_name = stage_db

# Snowflake notify connection properties - The Warehouse name associated with the notifications already provisioned in the Snowflake account (e.g. PUBLIC)
snowflake_notify_warehouse_name = cl_bridge_ingest_wh

# Whether or not to create and update IBSNOW infomational tracking metrics
# ibsnow_metrics_enabled = true

# The Sparkplug Group ID to use for IBSNOW asset names
ibsnow_metrics_sparkplug_group_id = IBSNOW Metrics

# Whether or not to send notification tasks to Snowflake based on incoming Sparkplug events
snowflake_notify_task_enabled = true

# The number of milliseconds to delay after receiving an NBIRTH before notifying Snowflake over the event (requires snowflake_notify_task_enabled is true)
snowflake_notify_nbirth_task_delay = 10000

# The number of milliseconds to delay after receiving a DBIRTH or DATA message before notifying Snowflake over the event (requires snowflake_notify_task_enabled is true)
snowflake_notify_data_task_delay = 5000


  • No labels