> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://apidocs.polytomic.com/2023-04-25/configuring-your-connections/connections/snowflake/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server. # Snowflake Supports: * ✅ Models * ✅ Model sync destination * ✅ Bulk sync source * ✅ Bulk sync destination ## Connection ### Configuration
NameTypeDescriptionRequired
account string Account identifier

e.g. FRXJLEC-UJA94780
required
dbname string Database required
key_pair_auth boolean Use key pair authentication ↓ optional
params string Additional parameters (optional)

Additional connection parameters, formatted as a query string
optional
password string Password optional
use_bulk_sync_staging_schema boolean Use custom bulk sync staging schema ↓ optional
username string Username required
warehouse string Compute warehouse (optional) optional
#### `key_pair_auth` When `key_pair_auth` is `true`:
NameTypeDescriptionRequired
private_key string Private key required
private_key_passphrase string Private key passphrase (optional) optional
```json { "name": "Snowflake connection", "type": "snowflake", "configuration": { "account": "FRXJLEC-UJA94780", "dbname": "database_name", "key_pair_auth": true, "params": "", "password": "password", "private_key": "", "private_key_passphrase": "", "use_bulk_sync_staging_schema": false, "username": "user", "warehouse": "warehouse" } } ``` #### `use_bulk_sync_staging_schema` When `use_bulk_sync_staging_schema` is `true`:
NameTypeDescriptionRequired
bulk_sync_staging_schema string Staging schema name required
```json { "name": "Snowflake connection", "type": "snowflake", "configuration": { "account": "FRXJLEC-UJA94780", "bulk_sync_staging_schema": "", "dbname": "database_name", "key_pair_auth": false, "params": "", "password": "password", "use_bulk_sync_staging_schema": true, "username": "user", "warehouse": "warehouse" } } ``` #### Example ```json { "name": "Snowflake connection", "type": "snowflake", "configuration": { "account": "FRXJLEC-UJA94780", "dbname": "database_name", "key_pair_auth": false, "params": "", "password": "password", "use_bulk_sync_staging_schema": false, "username": "user", "warehouse": "warehouse" } } ``` ## Model Sync ### Source #### Configuration
NameTypeDescriptionRequired
query string optional
schema string Schema optional
table string Table optional
view string View optional
#### Example ```json { ... "configuration": { "query": "SELECT * FROM sampledata.users", "schema": "sampledata", "table": "users", "view": "active_users" } } ``` ### Target Snowflake connections may be used as the destination in a model sync. #### All targets ##### Configuration
NameTypeDescriptionRequired
created_column string 'Created at' timestamp column optional
preserve_table_on_resync boolean Preserve destination table when resyncing optional
updated_column string 'Updated at' timestamp column optional
write_null_values boolean Copy null values

When enabled updates will set fields to NULL when the source value is null
optional
write_record_timestamps boolean Write row timestamp metadata optional
##### Example ```json { ... "target": { "configuration": { "created_column": "", "preserve_table_on_resync": false, "updated_column": "", "write_null_values": false, "write_record_timestamps": false } } } ``` ### Target creation Snowflake connections may be used to create a new target for a model sync. The following parameters are required to create a new target:
NAME DESCRIPTION ENUM
name Table name false
## Bulk Sync ### Source Snowflake connections may be used as a bulk sync source. No additional configuration options are required. ### Destination #### Configuration
NameTypeDescriptionRequired
advanced object optional
mirror_schemas boolean Mirror schemas optional
schema string Output schema optional
#### Example ```json { ... "destination_configuration": { "advanced": { "empty_strings_null": true, "hard_deletes": false, "initial_execution": "rebuild", "set_output_table_as_transient": false, "table_prefix": "", "truncate_existing": false }, "mirror_schemas": false, "schema": "schema" } } ``` ## Type handling ### Destination types | POLYTOMIC TYPE | SNOWFLAKE TYPE | |-----------------------------|---------------------------| | `array<>` | `ARRAY` | | `bigint` | `NUMBER(38,0)` | | `boolean` | `BOOLEAN` | | `date` | `DATE` | | `datetime` | `TIMESTAMP_NTZ(9)` | | `decimal(precision, scale)` | `NUMBER(precision,scale)` | | `double` | `FLOAT` | | `int` | `NUMBER(38,0)` | | `json` | `VARIANT` | | `jsonarray` | `ARRAY` | | `number` | `NUMBER(38,18)` | | `object{}` | `VARIANT` | | `single` | `FLOAT` | | `smallint` | `NUMBER(38,0)` | | `string` | `VARCHAR(134217728)` | | `time` | `TIME` | ### Source types | SNOWFLAKE TYPE | POLYTOMIC TYPE | |----------------------------|-----------------------------| | `BIGINT` | `bigint` | | `BYTEINT` | `smallint` | | `DATE` | `date` | | `DEC` | `number` | | `DECIMAL` | `number` | | `DOUBLE` | `double` | | `DOUBLE PRECISION` | `double` | | `FIXED` | `number` | | `FLOAT` | `double` | | `FLOAT4` | `double` | | `FLOAT8` | `double` | | `INT` | `int` | | `INTEGER` | `int` | | `NUMBER` | `number` | | `NUMBER(precision, scale)` | `decimal(precision, scale)` | | `NUMERIC` | `number` | | `OBJECT` | `json` | | `REAL` | `double` | | `SMALLINT` | `smallint` | | `TIME` | `time` | | `TIMESTAMP_LTZ` | `datetime_tz` | | `TIMESTAMP_NTZ` | `datetime` | | `TIMESTAMP_TZ` | `datetime_tz` | | `TINYINT` | `smallint` |