Skip to main content

Snowflake Sink Node

info

Snowflake has a Destination editor backed by a Snowflake data asset and connection profile, and a legacy editor with the fields below. The standalone node-type picker does not list Snowflake. Use the Destination asset selection available in your workflow; the presence of an editor alone does not confirm that a particular asset or deployment is ready.

The Snowflake Sink node writes processed data to Snowflake tables within configured databases and schemas using role-based access control and compute warehouse resources.

Snowflake is a cloud-based data warehousing platform designed to handle large-scale data storage, processing, and analysis. It offers seamless scalability, flexibility, and performance by separating compute and storage, allowing for efficient data operations. Snowflake enables organizations to consolidate data from various sources, perform complex queries, and gain valuable insights in real-time. By setting up a Snowflake connection node, users can manage their data operations, ensuring secure and accurate data handling across databases, schemas, and tables, while leveraging the platform's robust capabilities for optimal data warehousing and analytics.

Workflow Builder fields​

Configuration keys below are relative to the node configuration. Use the field name in the panel when following instructions in the builder; required markers such as an asterisk are not part of the name.

Destination panel​

Choose Asset Type and Asset Name first. Snowflake has no additional pipeline-settings inputs. A missing or unavailable asset is a reference problem, not proof that the connector does not exist.

The fields listed here are the complete set of editable inputs for this Destination type, subject to the stated visibility conditions.

Field in the panelConfiguration keyWhere to edit / when shown
Asset TypeUI only; no separate config keyChoose a Data Asset; UI selection determines the sink type on Save
Asset NamedataAssetIdChoose a Data Asset; reference to the selected data asset

Destination has no additional node settings after Asset Type and Asset Name. The Snowflake data asset owns Database, Schema, Table, and Warehouse. In Data Assets → Asset Information → Edit, existing Database, Schema, and Warehouse properties can be updated with Save → Save Changes. A property absent from the asset is not offered as an input. The Table input is visible, but Save rejects a changed table location: create a replacement asset for another table, select it in Asset Name, then Save. The Snowflake connection profile owns Account Identifier, authentication, and Role. Its Authentication Method is Key pair (the default: an unencrypted PKCS#8 PEM private key whose public key is registered on the Snowflake user) or Password or access token; see Connection Profiles. Edit Role on that profile in Settings → Connection Profiles; it is under + Show advanced options when creating a profile. Warehouse is not a profile setting, and Role is not an asset setting.

Legacy panel​

Use this section only when the workflow opens the legacy editor. The legacy editor exposes the inline fields listed below; it follows the workflow read-only state. Asset-managed connection values can be read-only; see Managing Data Assets for available edits and the replacement-asset flow.

Snowflake Sink Image
Field in the panelConfiguration keyWhere to edit / when shown
Snowflake ConnectioncredentialIdLegacy panel
Snowflake Account IdentifieraccountIdentifierLegacy panel
Database NamedatabaseLegacy panel
Schema NameschemaLegacy panel
Table NametableLegacy panel
Compute Warehouse NamewarehouseLegacy panel
Run As RoleroleLegacy panel

Legacy configuration details​

  • Snowflake Connection: Select or create a new Snowflake connection by:
    1. Giving a name to the connection
    2. Inputting your Snowflake username
    3. Inputting your Snowflake password
    4. Click "Create"
  • Snowflake Account Identifier: Enter the unique identifier for your Snowflake account. This identifier is essential for connecting to your Snowflake instance and distinguishes your account within your organization and across Snowflake's global network of supported cloud platforms and regions. It typically includes both the account name and organization name. This identifier allows Snowflake to route your requests to the correct account.
  • Database Name: Input the name of the database where you intend to write the data. This field is case-sensitive, so ensure the name is entered exactly as it appears in Snowflake. The database acts as a container for your data, organizing related information in one place. It helps in segregating data and managing permissions and access control at a broader level.
  • Schema Name: Specify the name of the schema within the database where the target table is located. This field is also case-sensitive, so enter the schema name accurately. A schema is a logical grouping of tables and other database objects (like views, functions, and procedures). It helps organize and manage these objects within a database, providing a structured way to categorize your data.
  • Table Name: Provide the exact name of the table where you want to write the data. The table name is case-sensitive, so it must match exactly. A table is a structured collection of data, organized into rows and columns. This is where your actual data is stored, and specifying the correct table ensures that your data is written to the intended location within your schema and database.
  • Compute Warehouse Name: Enter the name of the compute warehouse to be used for the operation. The compute warehouse provides the necessary resources for processing the data. In Snowflake, a compute warehouse is a virtual cluster of computing resources that perform data processing tasks. Specifying the correct warehouse ensures that your data operations have the required compute power and performance.
  • Run As Role: Specify the role that has the required permissions to execute the operation. Ensure that the role name is correct and has the necessary privileges. In Snowflake, roles are used to control access to data and operations. The role you specify must have the appropriate permissions to read, write, and manage the data and objects involved in your operation. This ensures that the operation is executed securely and with the necessary authorizations.

How records are written​

When the workflow starts, the sink reads the target table's columns and inserts one row per record.

  • Field-to-column matching: each column is matched to the record field with the same name, then case-insensitively. Snowflake stores unquoted column names in upper case, so a record field event_type fills column EVENT_TYPE.
  • Missing fields: a column with no matching field is written as NULL.
  • No matching fields: a record that matches no writable column is rejected with an error instead of inserting an empty row.
  • Objects and arrays: values for VARIANT columns, and for OBJECT or ARRAY columns declared without element or field types, are written as JSON. Structured OBJECT, ARRAY, and MAP columns (declared with types) are left empty: a record that has a value for one is rejected, so leave that field out. If such a column is NOT NULL without a default, the sink cannot write to the table.
  • Type mismatches: a record whose field cannot be written to its column, such as an object for a NUMBER column, is rejected with an error naming the field and column. Other records are still written.
  • Names: the table and its column names must be plain unquoted identifiers (letters, digits, _ and $, starting with a letter or _).

Troubleshooting​

ErrorCause and fix
Illegal base64 characterThe private key on the connection profile contains text that is not part of a PEM key, for example a shortened or placeholder value. Paste the complete unencrypted PKCS#8 key.
A username and password or a private key must be specifiedThe connection has no usable credential. Check the connection profile.
table column names is emptyThe sink found no columns for the table. Check Database, Schema, and Table, and that the role can access the table. A Snowflake data asset stores these names in upper case; in the legacy editor, enter them as Snowflake stores them (usually upper case).
... is not a valid Snowflake identifierThe table or a column name needs quoting in Snowflake. Rename it to a plain identifier.
structured OBJECT/ARRAY/MAP column(s) ... are declared NOT NULL without a defaultMake those columns nullable, give them a default, or use VARIANT, OBJECT, or ARRAY without declared types.
No record field matches any column of the target tableThe records are shaped for a different table. Rename fields to match the columns.
Connection or insert failureCheck the account identifier, credentials, role, and warehouse. When an insert fails, every record in that batch is reported as failed.