...
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 theCloud region the IoT Bridge for |
AWSEC2 #awssnowflakecloud_region = us-east-1
# |
The URLmqtt_server_url = ssl://b9ffnzzzzzzzz-ats.iot.us-east-1.amazonaws.com:8883
# The MQTT Server namemqtt_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 chainmqtt_ca_cert_chain_path = /opt/ibsnow/conf/certs/AmazonRootCA1.pem# The path to the TLS certificatemqtt_client_cert_path = /opt/ibsnow/conf/certs/72d382zzzz
.cert.pem# The path to the TLS private keymqtt_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 certificatemqtt_verify_hostname = true# The Sparkplug sequence reordering timeout in millisecondssequence_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 definitions. IoT Bridge for Snowflake supports multiple MQTT Servers. Each definition must include and 'index' as shown # below represented by 'X'. The first should begin with 1 and each additional server definition should have an index of 1 greater # than the previous. # mqtt_server_url.X # The MQTT Server URL # mqtt_server_name.X # The MQTT Server name # mqtt_username.X # The MQTT username (if required by the MQTT Server) # mqtt_password.X # The MQTT password (if required by the MQTT Server) # mqtt_keepalive_timeout.X # The MQTT keep-alive timeout in seconds # mqtt_ca_cert_chain_path.X # The path to the TLS Certificate Authority certificate chain # mqtt_client_cert_path.X # The path to the TLS certificate # mqtt_client_private_key_path.X # The path to the TLS private key # mqtt_client_private_key_password.X # The TLS private key password # mqtt_verify_hostname.X # Whether or not to verify the hostname against the server certificate # mqtt_client_id.X # The Client ID of the MQTT Client # mqtt_sparkplug_subscriptions.X # The Sparkplug subscriptions to issue when connecting to the MQTT Server. # By default this is spBv1.0/# but can be scoped more narrowly (e.g. spBv1.0/Group1/#) # It can also be a comma separated list (e.g. spBv1.0/Group1/#,spBv1.0/Group2/#)
mqtt_server_url.1 = ssl://b9ffnzzzzzzzz-ats.iot.us-east-1.amazonaws.com:8883 mqtt_server_name.1 = AWS IoT Core MQTT Server mqtt_sparkplug_subscriptions.1 = spBv1.0/# #mqtt_keepalive_timeout.1 = 30 #mqtt_verify_hostname.1 = true #mqtt_username.1 = #mqtt_password.1 = mqtt_ca_cert_chain_path.1 = /opt/ibsnow/conf/certs/AmazonRootCA1.pem mqtt_client_cert_path.1 = /opt/ibsnow/conf/certs/72d382zzzz.cert.pem mqtt_client_private_key_path.1 = /opt/ibsnow/conf/certs/72d382zzzz.private.key #mqtt_client_private_key_password.1 = #mqtt_client_id.1 =
# 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 = IamHost
# Snowflake streaming connection properties - A custom client name for the connection (e.g. MyClient) snowflake_streaming_client_name = IBSNOWClient
# Snowflake streaming connection properties - The scheme to use for channels and their names # This MUST be one of the following: STATIC, GROUP_ID, EDGE_ID # STATIC - means to use a single channel. If using this mode, the snowflake_streaming_channel_name # GROUP_ID - means to use the Sparkplug Group ID for the channel name on incoming data # EDGE_ID - means to use the Sparkplug Group ID and the Edge Node ID for the channel name on incoming data # DEVICE_ID - means to use the Sparkplug Group ID, Edge Node ID, and Device ID for the channel name on incoming data snowflake_streaming_channel_scheme = EDGE_ID
# 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 - |
A custom client name for the connection The Table name associated with the Database and Schema already provisioned in the Snowflake account (e.g. |
MyClientMyTable) snowflake_streaming_ |
clientMYCLIENTstreamingnotify connection properties - |
Acustomchannelnamefor(e.g. MyChannel)# If thisleft blank/empty, Channel names of the Sparkplug Group ID will be used instead of a single channel# snowflake_streaming_channel_name =already provisioned in the Snowflake account (e.g. MyDb) snowflake_notify_db_name = cl_bridge_node_db
# Snowflake |
streamingnotify connection properties - The |
TableSchema name associated with the Database |
andSchema already provisioned in the Snowflake account (e.g. |
MyTablestreamingtableSPARKPLUGRAWdb
# Snowflake notify connection properties - The |
DatabaseWarehouse name associated with the |
connection that isnotifications already provisioned in the Snowflake account (e.g. |
MyDbdbwarehouse_name = cl_bridge_ |
nodedb 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 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
# The 'Bridge Info' Sparkplug Edge Node ID to use for IBSNOW assets ibsnow_metrics_bridge_info_sparkplug_edge_node_id = Bridge Info
# The 'Edge Node Info' Sparkplug Edge Node ID to use for IBSNOW assets ibsnow_metrics_edge_node_info_sparkplug_edge_node_id = Edge Node Info
# The 'MQTT Client Info' Sparkplug Edge Node ID to use for IBSNOW |
asset namesassets ibsnow_metrics_mqtt_client_info_sparkplug_ |
groupIBSNOWMetricsInfo
# Whether or not to send notification tasks to Snowflake based on incoming Sparkplug events snowflake_notify_task_enabled = true
# The number of threads to use for BIRTH handling in Snowflake # snowflake_notify_task_birth_thread_count = 100
# 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 |