Is your feature request related to a problem? Please describe.
We would like to have one BQ client to start a session and run queries in the session. Following BigQuery documents, we can start a session and get the session id through:
bqclient = bigquery.Client()
job_config = bigquery.QueryJobConfig(create_session=True)
query_job = self.bqclient.query("SELECT 1", job_config=job_config)
session_id = query_job.session_info.session_id
Then, we can set the _default_query_job_config with the session_id. Here, we want to reuse the bqclient object to avoid additional connection time(e.g. authentication etc).
bqclient._default_query_job_config = bigquery.QueryJobConfig(
connection_properties=[
bigquery.ConnectionProperty("session_id", session_id)
]
)
However, it is not in the best practice to call the private properties of BQ client.
Describe the solution you'd like
Can we expose the default_query_job_config property public and its setter in BQ client.
Additional context
Internal bug can be referred here
Is your feature request related to a problem? Please describe.
We would like to have one BQ client to start a session and run queries in the session. Following BigQuery documents, we can start a session and get the session id through:
Then, we can set the _default_query_job_config with the session_id. Here, we want to reuse the bqclient object to avoid additional connection time(e.g. authentication etc).
However, it is not in the best practice to call the private properties of BQ client.
Describe the solution you'd like
Can we expose the default_query_job_config property public and its setter in BQ client.
Additional context
Internal bug can be referred here