Skip to content

Snowflake

Parameters

Required parameters are in red and Optional parameters are in blue.


  • account_name, your Snowflake account identifier
    for most customers, this is your account name
    if you are using Privatelink, use the format <account>.<region>.privatelink

  • username, your Snowflake username

  • warehouse, the name of a Snowflake warehouse you have accces to

  • role, the name of a Snowflake role you have access to

  • authentication, the type of authentication mechanism to use to connect to Snowflake
    ( allowed: basic, key-pair, sso, oauth )

  • database, the database to write new data to
    if tables do not exist in the database.schema location already, we'll auto-create them

  • schema, the schema to write new data to
    if tables do not exist in the database.schema location already, we'll auto-create them
    default: PUBLIC

  • secret, the secret value to pass to the authentication mechanism
    this will be either a password or oauth token

  • private_key_path, full path to an encrypted private key file

  • log_level, the noisiness of the underlying Snowflake sql driver
    default: warning ( allowed: debug, info, warning )

  • temp_dir, location to write temporary files prior to staging to Snowflake
    default: CS_TOOLS.TEMP_DIR (your temporary directory in the CS Tools configuration)

  • load_strategy, how to write new data into existing tables
    default: APPEND ( allowed: APPEND, TRUNCATE, UPSERT )

Serverless Requirements

If you're running CS Tools    serverless, you'll want to ensure you install these    python requirements.

🧙 Don't know what this means? It's probably safe to ignore it.

How do I use the Syncer in commands?

CS Tools accepts syncer definitions in either declarative or configuration file form.

Find the copy button to the right of the code block.

Simply write the parameters out alongside the command.

cs_tools tools searchable metadata --syncer "snowflake://account_name=thoughtspot&username=tsadmin&warehouse=ETL_WH&role=ACCT_DATA_LOADER&authentication=basic&database=thoughtspot&schema=cs_tools&secret=[redacted]" --config dogfood

* when declaring multiple parameters inline, you should wrap the enter value in quotes.

  1. Create a file with the .toml extension.

    syncer-overwrite.toml

    [configuration]
    account_name = "thoughtspot"
    username = "tsadmin"
    warehouse = "ETL_WH"
    role = "ACCT_DATA_LOADER"
    authentication = "basic"
    database = "thoughtspot"
    schema = "cs_tools"
    secret = "[redacted]"
    # private_key_path = ...
    log_level = "info"
    temp_dir = "/tmp"
    load_strategy = "TRUNCATE"
    
    * this is a complete example, not all parameters are required.

  2. Write the filename in your command in place of the parameters.

    cs_tools tools searchable metadata --syncer snowflake://syncer-overwrite.toml --config dogfood