Snowflake - Table List
Overview
You can use this Snap to output a list of tables in a database. The Snap will connect to the database, read its metadata, and output a document for each table found in the database. The table names are output in a topological order so that tables with the fewest dependencies are output first. In other words, if table A has a foreign key reference to table B, then table B will be output before A. The ordering is intended to ease the process of replicating a group of tables from one database to another.
Replicating a Subset of Tables
The output of the Table List Snap can be directly used to replicate an entire database. However, if you are only interested in a subset of tables, you can use a Filter Snap to select the table names you are interested in as well as the tables that they reference. For example, given the following diamond-shaped table graph where A depends on B and C and they both depend on D:
A
/ \
B C
\ /
D
The Table List will output the following documents:
name=D; dependents=[A, B, C, D]
name=C; dependents=[A, C]
name=B; dependents=[A, B]
name=A; dependents=[A]
So, if you wanted to copy just table 'A' and its dependencies, you can add a Filter Snap with the following expression:
$.dependents.indexOf('A') != -1
The filter will then remove any extra tables that happen to be in the schema.

Read-type Snap
-
Works in Ultra Tasks. However, we recommend that you not use this Snap in an Ultra Pipeline
Prerequisites
You must have minimum permissions on the database to execute Snowflake Snaps. To understand if you already have them, you must retrieve the current set of permissions. The following commands enable you to retrieve those permissions:
SHOW GRANTS ON DATABASE <database_name>
SHOW GRANTS ON SCHEMA <schema_name>
SHOW GRANTS TO USER <user_name>
- Usage (DB and Schema): Privilege to use the database, role, and schema.
grant usage on database <database_name> to role <role_name>;
grant usage on schema <database_name>.<schema_name>;
Learn more about Snowflake privileges: Access Control Privileges.
This Snap uses the Show Tables command internally. It enables you to list tables for the current or specified database or schema, or across your entire account.
Known Issues
Because of performance issues, all Snowflake Snaps now ignore the Cancel queued queries when pipeline is stopped or if it fails option for Manage Queued Queries, even when selected. Snaps behave as though the default Continue to execute queued queries when the Pipeline is stopped or if it fails option were selected.
Snap views
View | Description | Examples of upstream and downstream Snaps |
---|---|---|
Input | The Snap executes independently to retrieve metadata about tables in the specified Snowflake schema. | |
Output | This Snap has one document output view and provides a list of tables available
in the specified schema. Each output document contains metadata such as table name,
schema, database, creation time, and other table properties returned by the
Snowflake SHOW TABLES command. |
|
Error |
Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:
Learn more about Error handling in Pipelines. |
Snap settings
- Expression icon (
): Allows using JavaScript syntax to access SnapLogic Expressions to set field values dynamically (if enabled). If disabled, you can provide a static value. Learn more.
- SnapGPT (
): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
- Suggestion icon (
): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
- Upload
: Uploads files. Learn more.
Field / Field set | Type | Description |
---|---|---|
Label | String | Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if there are more than one of the same Snap in the pipeline. |
Schema Name | String/Expression | Specify the database schema name. In case it is not defined, then the
suggestion for the Table Name retrieves all tables names of all schemas. The
property is suggestible and will retrieve available database schemas during suggest
values. Note: A Schema name with special characters is not supported. Default value: N/A Example: Schema_demo |
Compute table graph | Checkbox | Required. Computes the dependents among tables and
returns each table with a list of tables it has foreign key references to. The
ordering of outputted tables is from least dependent to most dependent.
Note: Turning on this option will significantly slow down the Snap; it should be
left as off unless needed. Default status: Deselected |
Snap execution | Dropdown list | Choose one of the three modes in which the Snap executes. Available options
are:
|