Skip to content

Commit d66f54d

Browse files
authored
fix impersonation also in public API (#102)
* fix impersonation also in public API
1 parent 77647f6 commit d66f54d

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

dataikuapi/dss/sqlquery.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class DSSSQLQuery(object):
77
"""
88
A connection to a database or database-like on which queries can be run through DSS
99
"""
10-
def __init__(self, client, query, connection, database, dataset_full_name, pre_queries, post_queries, type, extra_conf, script_steps, script_input_schema, script_output_schema, script_report_location, read_timestamp_without_timezone_as_string, read_date_as_string):
10+
def __init__(self, client, query, connection, database, dataset_full_name, pre_queries, post_queries, type, extra_conf, script_steps, script_input_schema, script_output_schema, script_report_location, read_timestamp_without_timezone_as_string, read_date_as_string, project_key):
1111
self.client = client
1212

1313
self.streaming_session = self.client._perform_json(
@@ -19,6 +19,7 @@ def __init__(self, client, query, connection, database, dataset_full_name, pre_q
1919
"connection" : connection,
2020
"database" : database,
2121
"datasetFullName" : dataset_full_name,
22+
"projectKey" : project_key,
2223
"type" : type,
2324
"extraConf" : extra_conf,
2425
"scriptSteps" : script_steps,

dataikuapi/dssclient.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ def get_plugin(self, plugin_id):
301301
# SQL queries
302302
########################################################
303303

304-
def sql_query(self, query, connection=None, database=None, dataset_full_name=None, pre_queries=None, post_queries=None, type='sql', extra_conf=None, script_steps=None, script_input_schema=None, script_output_schema=None, script_report_location=None, read_timestamp_without_timezone_as_string=True, read_date_as_string=False):
304+
def sql_query(self, query, connection=None, database=None, dataset_full_name=None, pre_queries=None, post_queries=None, type='sql', extra_conf=None, script_steps=None, script_input_schema=None, script_output_schema=None, script_report_location=None, read_timestamp_without_timezone_as_string=True, read_date_as_string=False, project_key=None):
305305
"""
306306
Initiate a SQL, Hive or Impala query and get a handle to retrieve the results of the query.
307307
Internally, the query is run by DSS. The database to run the query on is specified either by
@@ -315,12 +315,13 @@ def sql_query(self, query, connection=None, database=None, dataset_full_name=Non
315315
:param list pre_queries: (optional) array of queries to run before the query
316316
:param list post_queries: (optional) array of queries to run after the query
317317
:param str type: the type of query : either 'sql', 'hive' or 'impala'
318-
318+
:param str project_key: The project_key on which the query should be run (especially useful for user isolation/impersonation scenario)
319+
319320
:returns: A :class:`dataikuapi.dss.sqlquery.DSSSQLQuery` query handle
320321
"""
321322
if extra_conf is None:
322323
extra_conf = {}
323-
return DSSSQLQuery(self, query, connection, database, dataset_full_name, pre_queries, post_queries, type, extra_conf, script_steps, script_input_schema, script_output_schema, script_report_location, read_timestamp_without_timezone_as_string, read_date_as_string)
324+
return DSSSQLQuery(self, query, connection, database, dataset_full_name, pre_queries, post_queries, type, extra_conf, script_steps, script_input_schema, script_output_schema, script_report_location, read_timestamp_without_timezone_as_string, read_date_as_string, project_key)
324325

325326
########################################################
326327
# Users

0 commit comments

Comments
 (0)