[Ultimate]{class="badge positive"}

Snowflake source

IMPORTANT
  • The Snowflake source is available in the sources catalog to users who have purchased Real-Time Customer Data Platform Ultimate.
  • By default, the Snowflake source interprets null as an empty string. Contact your Adobe representative to ensure that your null values are correctly written as null in Adobe Experience Platform.
  • For Experience Platform to ingest data, timezones for all table-based batch sources must be configured to UTC. The only time stamp that is supported for the Snowflake source is TIMESTAMP_NTZ with UTC time.

Adobe Experience Platform allows data to be ingested from external sources while providing you with the ability to structure, label, and enhance incoming data using Platform services. You can ingest data from a variety of sources such as Adobe applications, cloud-based storage, databases, and many others.

Experience Platform provides support for ingesting data from a third-party database. Platform can connect to different types of databases such as relational, NoSQL, or data warehouses. Support for database providers include Snowflake.

Prerequisites prerequisites

This section outlines the setup tasks that you need to complete before you can connect your Snowflake source to Experience Platform.

Retrieve your account identifier retrieve-your-account-identifier

You must retrieve your account identifier from the Snowflake UI dashboard because you will be using the account identifier to authenticate your Snowflake instance on Experience Platform.

To retrieve your account identifier:

  • Navigate to your account on the Snowflake application UI dashboard.
  • In the left navigation, select Accounts, followed by Active Accounts from the header.
  • Next, select the information icon and then select and copy the domain name of the current URL.

The Snowflake UI dashboard with the domain name selected.

Retrieve your private key retrieve-your-private-key

If you are using key-pair authentication for your Snowflake connection, then you must also generate your private key before connecting to Experience Platform.

Create an encrypted private key

To generate your encrypted Snowflake private key, run the following command on your terminal:

code language-shell
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8

If successful, you should receive your private key in PEM format.

code language-shell
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIE6T...
-----END ENCRYPTED PRIVATE KEY-----
Create an unencrypted private key

To generate your unencrypted Snowflake private key, run the following command on your terminal:

code language-shell
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt

If successful, you should receive your private key in PEM format.

code language-shell
-----BEGIN PRIVATE KEY-----
MIIE6T...
-----END PRIVATE KEY-----

Next, take your private key and encode it in Base64. Ensure that you do not do any transformations or format conversions on your Snowflake private key. Additionally, you must ensure that there are no trailing newline characters at the end of your private key, before encoding it in Base64.

Verify configurations

Before you can create a source connection for your Snowflake data, you must also ensure that the following configurations are met:

  • The default warehouse assigned to a given user must be the same as the warehouse that you input when authenticating to Experience Platform.
  • The default role assigned to a given user must have access to the same database that you input when authenticating to Experience Platform.

To verify your role and warehouse:

  • Select Admin on the left navigation and then select Users & Roles.
  • Select the appropriate user and then select the ellipses (...) on the top-right corner.
  • In the Edit user window that appears, navigate to Default Role to view the role associated with the given user.
  • In the same window, navigate to Default Warehouse to view the warehouse associated with the given user.

The Snowflake UI where you can verify your role and warehouse.

Once successfully encoded, you may then used that Base64-encoded private key on Experience Platform to authenticate your Snowflake account.

IP address allow list

A list of IP addresses must be added to an allow list prior to working with source connectors. Failing to add your region-specific IP addresses to your allow list may lead to errors or non-performance when using sources. See the IP address allow list page for more information.

The documentation below provides information on how to connect Snowflake to Platform using APIs or the user interface:

Connect Snowflake to Platform using APIs

Connect Snowflake to Platform using the UI

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089