Snowflake is a cloud-based data warehouse storage technology with automatic usage-based scaling of compute and storage resources. Additionally, Snowflake offers multi-cloud compatibility, allowing for greater flexibility in data management across different platforms.
The Snowflake Account Identifier should look like this: <OrganzationID>-<AccountID>
To find the Account Identifier in the snowflake portal click
Admin >
Accounts >
Next to your account ID, click the link
Copy the subdomain of the URL, the portion between “https://” and the first “.”
Find the Snowflake Warehouse Name
Admin > Warehouses
Copy the name of the Warehouse you wish to use
Setting up key pair authentication
Note: Authentication without Multi Factor Authentication has been deprecated, so you will need to use Key Pair authentication to gain access from the program
Add the password you created earlier to complete it.
Now you have the two certificates. You can open both files with a text editor.
Create user account to use for Key Pair authentication.
Start by going to the snowflake portal. https://app.snowflake.com/. Log in to your account. Make sure you are able to create users, you may have to change the rights. In here go to Users & roles.
Add a user
I set mine up like so and called it MACHINE_USER.
Notice that I didn’t add a password or checked the Force user to change password on first time login.
Now click on Projects. Create a new SQL file and give it a name. I called it query. I added the following query to make it use the public key for access. Do not add all the content, only the part after -----BEGIN PUBLIC KEY----- and before -----END PUBLIC KEY-----.
ALTER USER MACHINE_USER SET RSA_PUBLIC_KEY='content of the rsa_key.pub file';
Now you can use the MACHINE_USER account to authenticate your create and read commands towards Snowflake.
Open the ODBC Data Source Administrator Application and go to the System DSN tab
Press Add and select SnowflakeDSIIDriver. Click Finish.
In the Snowflake Configuration Dialog, provide a name for the data source, and enter the user and password that were created when you signed up for Snowflake. Specify the database, schema, warehouse and set Tracing to 0. Click Test to ensure the connection to the data source is successful. Press OK.
Select the Prepare instance with Snowflake storage in the TimeXtender Portal in order to edit its details.
Type the Data Source name, that was entered into the Snowflake Configuration Dialog, into the DSN field. Press Save to confirm.
If using the Power BI endpoint, the ODBC Data source credentials must also be updated. After deploying the Power BI endpoint within TimeXtender Data Integration. Navigate to the dataset in app.powerbi.com, and click on the three dots, and select Settings.
Expand the gateway connection menu and press the action button.
Click Add to gateway on the ODBC data source.
Provide a name for the gateway and the data source. Select basic authentication method and enter the Snowflake username and password. Press Create.
Expand the Gateway connection again and map the ODBC connection. Click Apply.
Troubleshooting
Unable to Connect
Error: Snowflake Internal Error: Unable to connect
Cause: The account name is incorrect.
Solution: Edit your Prepare instance in TimeXtender Portal to review and correct the account name, as described above.
Failed to authenticate request
Error: Server failed to authenticate the request
Cause: Snowflake is unable to access the Ingest instance storage
Solution: Verify you using Azure Data Lake Ingest Storage and the SAS token is configured with access to the folder in Azure Data Lake that you're pulling the data from.
Execution Fails on Transfer task in Ingest instance
Error: SQL compilation error: syntax error line 1 at position 7 unexpected 'R'. syntax error line 3 at position 18 unexpected '('.
Cause: This error occurs if Incremental Load is used.
Solution: Set Table Settings to Full Load or Disable Incremental Rules on Data source in your Ingest instance and Synchronize your Ingest instance against your Prepare instance.
Locked User
Error: ‘User temporarily locked’
Cause: This error may occur if the user is testing the connection 5 or more times with an incorrect password
What are the minimum privileges required for a Snowflake user to fully utilize all TimeXtender functionality if one doesn’t want to give the ACCOUNTADMIN access to TimeXtender?
Ref item 6. “Enter Username” in the “Configure Storage for Prepare Instance”.
The guide has been updated to show how to set up Key Pair authentication as non MFA authentication has been deprecated.