Skip to main content

Export to Snowflake with Delta Sharing (beta)

Connecting to Funnel Data via Snowflake Delta Sharing

Delta Sharing allows you to securely access Funnel data directly from Snowflake without copying or moving data between systems. Once connected, your Funnel exports appear as tables in Snowflake and can be queried using standard Snowflake tools.

Beta feature

Delta Sharing for Snowflake is currently in beta. While the feature is fully functional, you may experience limitations or changes as we continue to refine the experience. We welcome your feedback as we work toward general availability.

Prerequisites

Before you begin, make sure you have:

  • A Funnel subscription with Delta Sharing exports enabled.

  • A Snowflake account with permissions to create catalog integrations and databases.

Step 1: Create a Delta Sharing Export in Funnel

Create a new Delta Sharing export in Funnel, enable it and run it once.

Once the export has been run, Funnel has created a Delta Share that can be consumed from Snowflake.

Step 2: Generate Delta Sharing Credentials

To connect Snowflake to Funnel, you'll need a Delta Sharing credential file.

  1. In Funnel, navigate to Subscription overviewUsers.

  2. Open the System users tab.

  3. Create a new system user and select Deltashare as the user type.

  4. After the system user has been created, click the Download icon to download the .share credential file.

Keep this file secure, as it provides access to your shared data.

The file contains the connection details you'll use when configuring Snowflake, including:

  • endpoint

  • clientId

  • clientSecret

  • tokenEndpoint

You'll also need the unique share name, which you can find by clicking on the export in Funnel.

Step 3: Create a catalog integration in Snowflake

Run the following SQL in Snowflake, replacing the placeholder values (the ones with <> brackets) with those from your .share file and the unique share name.

CREATE OR REPLACE CATALOG INTEGRATION my_delta_sharing_int_oauth    
CATALOG_SOURCE = DELTA_SHARING
TABLE_FORMAT = DELTA
REST_CONFIG = (
CATALOG_URI = <shareFile.endpoint>
CATALOG_NAME = 'shares/<unique_share_name_from_the_funnel_ui>'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_CLIENT_ID = <shareFile.clientId>
OAUTH_CLIENT_SECRET = <shareFile.clientSecret>
OAUTH_TOKEN_URI = <shareFile.tokenEndpoint>
OAUTH_ALLOWED_SCOPES = ('delta_sharing')
)
ENABLED = TRUE;

Step 4: Create a linked database in Snowflake

Create a database linked to the Delta Sharing catalog integration in Snowflake.

CREATE OR REPLACE DATABASE delta_sharing_cld
LINKED_CATALOG = (
CATALOG = my_delta_sharing_int_oauth
ALLOWED_WRITE_OPERATIONS = 'NONE'
SYNC_INTERVAL_SECONDS = 30
);

Step 5: Access your Funnel data

After the linked database has been created, Snowflake automatically synchronizes the shared metadata.

You can browse the linked database and query the shared Funnel tables like any other read-only database in Snowflake.

Did this answer your question?