The SNOWFLAKE route stores MQTT messages in Snowflake, a cloud-native data warehouse. It supports high-volume data ingestion with automatic scaling and powerful SQL analytics.
Snowflake is ideal for large-scale analytics, data lakes, and enterprise reporting. Use it when you need to analyze IoT data alongside other business data in the cloud.
DEFINE ROUTE SensorWarehouse WITH TYPE SNOWFLAKE ADD SNOWFLAKE_CONFIG WITH CONNECTION_STRING "account=myaccount;user=myuser;password=mypassword" WITH WAREHOUSE "COMPUTE_WH" WITH DATABASE "IOT_DATA" WITH SCHEMA "SENSORS" ADD EVENT StoreSensorReading WITH SOURCE_TOPIC "sensors/+/reading" WITH QUERY "INSERT INTO SENSOR_READINGS (TIMESTAMP, SENSOR_ID, VALUE) VALUES (CURRENT_TIMESTAMP(), '{sensor_id}', PARSE_JSON('{value.json}'))"
DEFINE ROUTE SensorWarehouse WITH TYPE SNOWFLAKE ADD SNOWFLAKE_CONFIG WITH CONNECTION_STRING "account=myaccount;user=iot_user;password=secure_password" WITH WAREHOUSE "IOT_WH" WITH DATABASE "IOT_DATA" WITH SCHEMA "SENSORS" WITH ROLE "IOT_WRITER" ADD EVENT StoreReading WITH SOURCE_TOPIC "sensors/+/reading" WITH DESTINATION_TOPIC "snowflake/status" WITH QUERY "INSERT INTO SENSOR_READINGS (TIMESTAMP, SENSOR_ID, VALUE) VALUES (CURRENT_TIMESTAMP(), '{sensor_id}', PARSE_JSON('{value.json}'))"
Optimized for high throughput:
Copy
Ask AI
DEFINE ROUTE HighVolumeWarehouse WITH TYPE SNOWFLAKE ADD SNOWFLAKE_CONFIG WITH CONNECTION_STRING "account=myaccount;user=iot_user;password=secure_password" WITH WAREHOUSE "IOT_WH" WITH DATABASE "IOT_DATA" WITH SCHEMA "EVENTS" WITH QUERY_TIMEOUT '60' WITH POOL_SIZE '20' ADD EVENT StoreEvents WITH SOURCE_TOPIC "events/#" WITH QUERY "INSERT INTO EVENT_LOG (TIMESTAMP, TOPIC, PAYLOAD) VALUES (CURRENT_TIMESTAMP(), '{source_topic}', PARSE_JSON('{value.json}'))"
Route to different tables:
Copy
Ask AI
DEFINE ROUTE MultiTableWarehouse WITH TYPE SNOWFLAKE ADD SNOWFLAKE_CONFIG WITH CONNECTION_STRING "account=myaccount;user=iot_user;password=secure_password" WITH WAREHOUSE "IOT_WH" WITH DATABASE "IOT_DATA" WITH SCHEMA "PUBLIC" ADD EVENT StoreSensors WITH SOURCE_TOPIC "sensors/#" WITH QUERY "INSERT INTO SENSORS (TS, TOPIC, DATA) VALUES (CURRENT_TIMESTAMP(), '{source_topic}', PARSE_JSON('{value.json}'))" ADD EVENT StoreAlerts WITH SOURCE_TOPIC "alerts/#" WITH QUERY "INSERT INTO ALERTS (TS, TOPIC, DATA) VALUES (CURRENT_TIMESTAMP(), '{source_topic}', PARSE_JSON('{value.json}'))"