You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have a snowflake account with MFA setup and required.
In order to add snowflake support, In the values file (my-values.yaml) modify bootstrap script to the following:
bootstrapScript: |
#!/bin/bash
rm -rf /var/lib/apt/lists/* && \
pip install \
psycopg2-binary==2.9.1 \
redis==3.5.3 \
snowflake-connector-python==2.7.9 \
snowflake-sqlalchemy==1.2.4 && \
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
Before continuing to the steps, we need to create a public key using openssl, should look like openssl rsa -in ${PRIVATE_KEY} -out ${PUBLIC_KEY} -pubout -passin file:${PASSPHRASE_FILE}
and make sure you set it up in Snowflake as the public key and passphrase of your account.
Then, we need to try and create the connection
Go to 'Data'
Click on 'Databases'
Click on '+Database' to create a new database
Under 'Supported Databases' Scroll down to 'Snowflake.'
On the bottom, click on 'Connect this database with a SQLAlchemy URI string instead'
Fill the SQLALCHEMY URI field.
Click on the 'Advanced' tab
Expand 'Security' accordion tab
Under secure extra, try to paste the keypair and passphrase you have in this format:
If you click 'Connect' rather than 'Test Connection', it just shows some error occurred but not writing what it is..
Expected results
First, the expected thing is that the json syntax would be supported, as stated in the superset-snowflake official documentation, which can be found here
It is also expected that Superset will be able to connect to snowflake and won't require approval of MFA (or by push) when trying to connect to it throughout the usage.
Actual results
After clicking 'Connect' i receive: ERROR: Invalid argument(s) 'auth_method','auth_params' sent to create_engine(), using configuration SnowflakeDialect/NullPool/Engine. Please check that the keyword arguments are appropriate for this combination of components.
if I wrap auth_method and auth_params with an object named connect_args, which finally looks like that:
Then the syntax is accepted, no error occurs, but every query issued from superset requires me to approve a new connection with my MFA app (Duo Mobile)
Screenshots
Environment
(please complete the following information):
browser type and version: irrelevant ([Version 1.37.116 Chromium: 100.0.4896.127 (Official Build) (arm64)])
superset version: superset-0.7.4
Make sure you add snowflake to the bootstrap script
bootstrapScript: |
#!/bin/bash
rm -rf /var/lib/apt/lists/* && \
pip install \
psycopg2-binary==2.9.1 \
redis==3.5.3 \
sqlalchemy-redshift==0.8.11 \
snowflake-connector-python==2.7.9 \
snowflake-sqlalchemy==1.2.4 && \
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
Make sure the template processing feature flag is on
How to reproduce the bug
Have a snowflake account with MFA setup and required.
In order to add snowflake support, In the values file (my-values.yaml) modify bootstrap script to the following:
Finally, Install superset with Helm
helm upgrade --install --values my-values.yaml --namespace superset superset
Before continuing to the steps, we need to create a public key using openssl, should look like
openssl rsa -in ${PRIVATE_KEY} -out ${PUBLIC_KEY} -pubout -passin file:${PASSPHRASE_FILE}
and make sure you set it up in Snowflake as the public key and passphrase of your account.
Then, we need to try and create the connection
If you click 'Connect' rather than 'Test Connection', it just shows some error occurred but not writing what it is..
Expected results
First, the expected thing is that the json syntax would be supported, as stated in the superset-snowflake official documentation, which can be found here
It is also expected that Superset will be able to connect to snowflake and won't require approval of MFA (or by push) when trying to connect to it throughout the usage.
Actual results
After clicking 'Connect' i receive:
ERROR: Invalid argument(s) 'auth_method','auth_params' sent to create_engine(), using configuration SnowflakeDialect/NullPool/Engine. Please check that the keyword arguments are appropriate for this combination of components.
if I wrap
auth_method
andauth_params
with an object namedconnect_args
, which finally looks like that:Then the syntax is accepted, no error occurs, but every query issued from superset requires me to approve a new connection with my MFA app (Duo Mobile)
Screenshots
Environment
(please complete the following information):
Make sure you add snowflake to the bootstrap script
Make sure the template processing feature flag is on
Checklist
Make sure to follow these steps before submitting your issue - thank you!
Additional context
Simply following the official instructions and it won't work
The issue, IMO, is that superset limits the arguments being sent to the db engine.
The text was updated successfully, but these errors were encountered: