Hi,

I launched AWS instance with latest Redash AMI ami-0c654c3ab463d22f6.
Anyone can guide me (exact all steps) how to make Snowflake to be available as a new data source?

Thanks!

Hello.

Just managed to get it to work on my end.

So I first installed redash using the standard setup (using the setup.sh script).
But this version did not activate the snowplow connector because of some conflicts.

So I had to do the following:

First clone the redash git repo and checkout the last release

git clone git@github.com:getredash/redash.git
git checkout v6.0.0

Then you need to update the dependencies of redash to activate the snowflake connector.
For this you need to uncomment this line (which is at the end of the requirements_all_ds.txt file:
snowflake_connector_python==1.6.10

However, the snowflake connector needs a higher version of oauthlib-common

So you need to upgrade the Flask-OAuthLib version to 0.9.5 in the requirement.txt file.

Once it is done, you need to rebuild the docker image

docker build -t redash:redash-snowflake

Once it is finished, go to the directory where redash was installed by the setup, and edit the docker-compose.yml file and replace the standard redash docker image with the one you created above.

x-redash-service: &redash-service
  image: redash:redash-snowflake
  depends_on:
    - postgres
    - redis
  env_file: /opt/redash/env
  restart: always

Then you just have to docker-compose up -d and the snowflake connection should be here.

btw @arikfr , was this dependency the one creating the problem with snowflake?

1 Like

A more future proof option is just to create a Dockerfile that inherits from our Docker image:

FROM redash/redash:...specify the version you want to use...
RUN pip install snowflake-connector-python==1.6.10
ENV REDASH_ADDITIONAL_QUERY_RUNNERS redash.query_runner.snowflake

It’s similar to what you did except that you don’t need to build our image all over again.

Yes. Although I think recent versions they released solves whatever dependency issues we had, it just that I couldn’t get a confirmation from anyone who used it for a long period of time…

Agreed, inheritance would have been smarter.

Anyway, the instance has been running for several days with regular use of the Snowflake datasource, no problem until now. (and we’re using google oauth, means the Flask OAuth lib is working correctly in combination with the snowflake connector.)
If you need more information about the way the instance is behaving, feel free to ask.

1 Like

Thanks for the update! I think in one of the upcoming releases we will enable Snowflake by default again.

Did this every happen? Is there an AMI with Snowflake enabled by default?

I’m confused (sorry) but the question was about the AWS AMI and Snowflake data sources. The answers are about modifying the docker image and compose.yaml . Can we translate this into a solution for the AWS AMI ? Or am I thinking about this all wrong?

The AWS AMI runs Docker Compose and a containerized version of Redash.

The last version of the AWS AMI has Redash v6, which didn’t have Snowflake enabled by default. Newer versions already have it enabled. You can follow the upgrade guide to upgrade to v7, which has Snowflake enabled by default.

Considering this is a new instance and has no previous data the upgrade should be simple and quick.