Closed exa-eswar closed 2 years ago
Could you try to enable debug=True
connection option and attach logs?
Let's see the specific communication.
Thank you.
ExaAuthError Traceback (most recent call last)
/var/folders/78/1x3zcx5x05g8pz0j2gpj9s3r0000gq/T/ipykernel_32463/2391174904.py in
~/opt/anaconda3/lib/python3.9/site-packages/pyexasol/init.py in connect(**kwargs) 53 from .formatter import ExaFormatter 54 from .http_transport import ExaHTTPTransportWrapper ---> 55 from .local_config import ExaLocalConfig 56 from .logger import ExaLogger 57 from .mapper import ExaTimeDelta, exasol_mapper
~/opt/anaconda3/lib/python3.9/site-packages/pyexasol/connection.py in init(self, dsn, user, password, schema, autocommit, snapshot_transactions, connection_timeout, socket_timeout, query_timeout, compression, encryption, fetch_dict, fetch_mapper, fetch_size_bytes, lower_ident, quote_ident, json_lib, verbose_error, debug, debug_logdir, udf_output_bind_address, udf_output_connect_address, udf_output_dir, http_proxy, client_name, client_version, client_os_username, protocol_version, websocket_sslopt, access_token, refresh_token) 183 self._init_logger() 184 self._init_ws() --> 185 186 self._login() 187 self.get_attr()
~/opt/anaconda3/lib/python3.9/site-packages/pyexasol/connection.py in _login(self) 615 ret = self.req({ 616 'command': 'login', --> 617 'protocolVersion': self.options['protocol_version'], 618 }) 619
~/opt/anaconda3/lib/python3.9/site-packages/pyexasol/connection.py in req(self, req) 579 send_data = self.json_encode(req) 580 self.logger.debug_json('WebSocket abort request', req) --> 581 582 try: 583 self._ws_send(send_data)
ExaAuthError:
(
message => Connection exception - Authentication using OpenID Connect tokens is not supported (requires driver with version 7.1.0 or greater).
dsn => url.clusters.exasol.com:8563
user => uid
schema =>
session_id =>
code => 08004
)
Ok, this is simple.
Your local pyexasol version on MacOS is older.
"driverName": "PyEXASOL 0.20.0",
"clientName": "PyEXASOL",
"clientVersion": "0.20.0",
Update to the latest version to be able to connect to SAAS.
Thank you. This worked. "driverName": "PyEXASOL 0.24.0", "clientName": "PyEXASOL", "clientVersion": "0.24.0",
As a side note, I think there is exasol-sagemaker-extension dependancy. When I tried to !pip install exasol-sagemaker-extension, it installed pyexasol-0.20.0 automatically, which caused this error.
It needs to be updated in order to work with Exasol SAAS.
OpenID tokens and protocol version 3 are required for SAAS and were implemented in the most recent versions only.
I'll close the issue for now.
While trying to use the pyexasol with newly launched SaaS offering; I got the following error.
Installed latest pyexasol: Successfully installed pyexasol-0.24.0
Error after running above code: C = pyexasol.connect(dsn='SaaSURL.clusters.exasol.com:8563', user='myusername', password='mypwd', compression=True) df = C.export_to_pandas("SELECT * FROM EXA_ALL_USERS") print(df.head())
ExaAuthError: ( message => Connection exception - Authentication using OpenID Connect tokens is not supported (requires driver with version 7.1.0 or greater). dsn => SaaSURL.clusters.exasol.com:8563 user => myusername schema =>
session_id =>
code => 08004 )
Please comment if you require any additional details to reproduce the issue.
My system details: MacOS Monterey Intel i9, 8 core However, when I did the same thing with Notebook from Ec2 instance on Ubuntu 20.04, everything works fine.