[Ultimate]{class="badge positive"}
Snowflake source
- 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 ÃÛ¶¹ÊÓƵ representative to ensure that yournull
values are correctly written asnull
in ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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 ÃÛ¶¹ÊÓƵ 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 .
- 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.
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.
To generate your encrypted Snowflake private key, run the following command on your terminal:
code language-shell |
---|
|
If successful, you should receive your private key in PEM format.
code language-shell |
---|
|
To generate your unencrypted Snowflake private key, run the following command on your terminal:
code language-shell |
---|
|
If successful, you should receive your private key in PEM format.
code language-shell |
---|
|
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.
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: