Skip to main content

Snowflake

Installation

  1. Install package

    If you are developing with binary, the package is already bundled in the binary. You can skip this step.

    npm i @vulcan-sql/extension-driver-snowflake
  2. Update vulcan.yaml, and enable the extension.

    extensions:
    ...
    snow: '@vulcan-sql/extension-driver-snowflake' # Add this line
  3. Create a new profile in profiles.yaml or in your profile files. For example:

    - name: snow # profile name
    type: snowflake
    connection:
    account: 'xy123456.ap-northeast-1.aws'
    username: xxxx
    password: xxxx
    warehouse: test
    min: 0
    max: 3
    allow: '*'

Configuration

Please check arguments of Snowflake SDK and options of Generic Pool for further information.

NameRequiredDefaultDescription
accountYYour account identifier.
usernameYThe login name for your Snowflake user or your Identity Provider (e.g. your login name for Okta).
applicationNVulcanSQLSpecifies the name of the client application connecting to Snowflake.
authenticatorNSNOWFLAKESpecifies the authenticator to use for verifying user login credentials.
passwordNPassword for the user. Set this option if you set the authenticator option to SNOWFLAKE or the Okta URL endpoint for your Okta account.
tokenNSpecifies the OAuth token to use for authentication. Set this option if you set the authenticator option to OAUTH.
privateKeyNSpecifies the private key (in PEM format) for key pair authentication
privateKeyPathNSpecifies the local path to the private key file (e.g. rsa_key.p8)
privateKeyPassNSpecifies the passcode to decrypt the private key file, if the file is encrypted.
databaseNThe default database to use for the session after connecting.
warehouseNThe default virtual warehouse to use for the session after connecting. Used for performing queries, loading data, etc.
timeoutN60000Number of milliseconds to keep the connection alive with no response.
roleNThe default security role to use for the session after connecting.
schemaNThe default schema to use for the session after connecting.
maxN1Maximum number of connection to create at any given time.
minN0Minimum number of connection to keep at any given time. If this is set >= max, the pool will silently set the min to equal max.
maxWaitingClientsN0Maximum number of queued connections allowed.
acquireTimeoutMillisN0Max milliseconds a request will wait for a connection before timing out, if supplied should non-zero positive integer.
destroyTimeoutMillisN0Max milliseconds a connection will wait for closing before timing out, if supplied should non-zero positive integer.