Snowflake forwarder configuration

Snowflake forwarder configuration

You can configure the following settings in this function:

image-20260907-054810.png
Snowflake forwarder configuration

Setting

Description

Field requirement

Setting

Description

Field requirement

Environment

Account identifier

The account identifier for the Snowflake account URL. Only enter the account_identifier portion from the Snowflake URL (account_identifier.snowflakecomputing.com) in this field. The system constructs the full account URL from this value.

Required

Warehouse

The name of the virtual warehouse you want to use for execution.

Required

Database name

The name of the Snowflake database.

Required

Authentication

Select one of the following three authentication types from the dropdown:

Programmatic access token

A Snowflake programmatic access token (PAT) that authenticates the Snowflake user account.

Note!

The Programmatic access token field only accepts parameter references and requires you to use Global parameters.

Required

Key-pair (JWT)

  • Username - The username of the Snowflake user account.

  • Private key - The private key used to authenticate the Snowflake user account.

Note!

The Private key field only accepts parameter references, and you have to use Global parameters.

Required

OAuth

Note!

This OAuth 2.0 authentication uses the client credentials grant.

  • Client ID - The OAuth client identifier for this Snowflake integration.

  • Client Secret - The secret associated with the OAuth Client ID.

  • OAuth server endpoint - The URL of the OAuth server that issues access tokens.
    Example: https://OAuthDomain.com/oauth/token

  • Scope - The scope of the OAuth access request. Enter as a space-delimited, case-sensitive list of strings.

  • Audience - Required by providers such as Auth0.
    Example: https://<account>.snowflakecomputing.com

Note!

The Client Secret field only accepts parameter references, and you have to use Global parameters.

Required

Batching

Determine whether you want to write records to the database one by one or batch them before writing to the database in one statement.

Use batching

When you enable batching, the function buffers input records and writes them to the database as multi-row INSERT statements instead of one INSERT per record.

Note!

When batching is enabled, the following rules apply for the SQL.

  • You can only use INSERT statements, not UPDATE or DELETE.

  • The statement must start with an INSERT statement, you cannot use only an interpolation statement.

  • You cannot use non-value interpolation.

  • You can use global parameters.

Examples:

INSERT INTO "MYTABLE" (ID, NAME) VALUES (@{payload.ID},${@payload.NAME})

is valid.

DELETE FROM "MYTABLE" WHERE ID = @{@payload.ID};

is invalid.

${payload.statement}

is invalid.

INSERT INTO "${payload.TABLE_NAME}" (${payload.column_NAME}) VALUES (@{payload.column_VALUE})

is invalid.

INSERT INTO {{param:table_name}} (ID, NAME) VALUES (@{payload.ID},${payload.NAME})

is valid.

Optional

Batch limit

The batch limit determines how many input records the function buffers before writing a multi-row INSERT to Snowflake. The minimum limit is 1000, and the maximum limit is 200000. The default value is 1000.

When Batching is enabled with a batch limit of 5000, the function buffers up to 5000 input records before writing a multi-row INSERT to Snowflake.

For an input of 12000 records with a batch limit of 5000, the function writes 3 multi-row INSERTs containing 5000, 5000, and 2000 rows, respectively, with the same INSERT statement to Snowflake.

Required when Batching is enabled

SQL statement

SQL statement

Enter the SQL statement to write, update, or delete data in the Snowflake database.

Only a single INSERT, UPDATE, or DELETE statement is allowed. You can reference payload field values in the statement by using the @{payload.<fieldName>} syntax.

Note!

If you specify a database name directly in the SQL statement, for example, INSERT INTO "DBNAME"."TABLENAME", that name overrides the value in the Database name field.

Note!

Sensitive parameters must not be used in the SQL statement.

Required