How to Add DynamoDB to my Redash


#1

From Redash home page i see one of the supported Data source is DynamoDB. Could you please throw more light on how to configure DyanmoDB to Redash?


#2

You need to make sure that:

  1. You have a recent enough version (v0.11).
  2. That you have installed the needed Python dependencies.

#3

Could you please through more light on this? I believe there is more configuration to be done to use the right vpn details


#4

What are the python dependencies. I installed redash using the install script downloaded from the redash site.


#5

Not sure what the install script does, but you need not only to (pip) install the requirements.txt but also the requirements_all_ds.txt (“all datasources”). With that you get all “missing” datasources like dynamodb, mysql, influxdb, etc …


#6

hmm just saw in another thread that you (@chiddu) obviously solved you question yourself. Why don’t you help others by answering you question yourself then ?


#7

No, I have not solved it. I think it has something to do with the connectivity. all the required packages have been installed, I verified that.


#8

I getting a Connection Test Failed when try to connect to DynamoDB

Failed 254007: The certificate attached is not for OCSP signing.
I’m running in AWS instance
Redash 1.0.3+b2850


#9

There was another user having this problem, but I couldn’t reproduce it. How did you setup Redash?


#10

@arikfr I am having similar issue. I am using AWS AMI.

Connection Test Failed: 254007: The certificate attached is not for OCSP signing.

After installation is there any setup is required?


#11

I’ve just received the same - brand new AMI (1.0.1+b2833). This happens on both queries and when testing the data connection. This box is in a VPC with a private IP address (but access to the internet).

[2017-05-10 14:43:18,480: WARNING/Worker-9] Unexpected error while running query: Traceback (most recent call last): File "/opt/redash/redash.1.0.1.b2833/redash/tasks/queries.py", line 421, in run data, error = query_runner.run_query(annotated_query, self.user) File "/opt/redash/redash.1.0.1.b2833/redash/query_runner/dynamodb_sql.py", line 100, in run_query result = engine.execute(query if str(query).endswith(';') else str(query)+';') File "/usr/local/lib/python2.7/dist-packages/dql/engine.py", line 965, in execute pretty_format) File "/usr/local/lib/python2.7/dist-packages/dql/engine.py", line 292, in execute result = self._run(statement) File "/usr/local/lib/python2.7/dist-packages/dql/engine.py", line 307, in _run return self._select(tree, self.allow_select_scan) File "/usr/local/lib/python2.7/dist-packages/dql/engine.py", line 446, in _select desc = self.describe(tablename, require=True) File "/usr/local/lib/python2.7/dist-packages/dql/engine.py", line 251, in describe desc = self.connection.describe_table(tablename) File "/usr/local/lib/python2.7/dist-packages/dynamo3/connection.py", line 370, in describe_table 'describe_table', TableName=tablename)['Table'] File "/usr/local/lib/python2.7/dist-packages/dynamo3/connection.py", line 222, in call data = op(**kwargs) File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 228, in _api_call return self._make_api_call(operation_name, kwargs) File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 481, in _make_api_call operation_model, request_dict) File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 117, in make_request return self._send_request(request_dict, operation_model) File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 146, in _send_request success_response, exception): File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 219, in _needs_retry caught_exception=caught_exception) File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 226, in emit return self._emit(event_name, kwargs) File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 209, in _emit response = handler(**kwargs) File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 183, in __call__ if self._checker(attempts, response, caught_exception): File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 250, in __call__ caught_exception) File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 265, in _should_retry return self._checker(attempt_number, response, caught_exception) File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 313, in __call__ caught_exception) File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 222, in __call__ return self._check_caught_exception(attempt_number, caught_exception) File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 355, in _check_caught_exception raise caught_exception OperationalError: 254007: The certificate attached is not for OCSP signing.


#12

I am getting this too when I try to add a dynamo data source.


#13

I had this error got it working by upgrading snowflake-connector-python


#14

@binary upgrading snowflake-connector-python solved your DynamoDB issues or you had the same error with a Snowflake connection?


#15

When adding a DynamoDB data source I got the Failed 254007: The certificate attached is not for OCSP signing. error. Upgrading snowflake-connector-python fixed the error.


#16

@binary is correct the problem is indeed caused by the snowflake-connector :unamused: You can either upgrade it, or add to your .env file:

export REDASH_DISABLED_QUERY_RUNNERS="redash.query_runner.snowflake"

And then restart all Redash services. This will prevent Redash from loading the Snowflake connector.