Description
Is your feature request related to a problem? Please describe.
We are part of the BI Engine preview so we're trying to minimize the latency between our python application and BigQuery. The current approach of creating an asynchronous job and then waiting for it to complete adds significant latency and hurts the value proposition of BI Engine.
Describe the solution you'd like
We'd like a way to utilize the v2/projects/{projectId}/queries
endpoint to execute a query and wait for the response.
Describe alternatives you've considered
We could call the REST API directly. The main drawbacks are 1) authentication with a service account 2) the existing python client does a nice job of creating Row
objects with the results.
I've also used the following snippet:
bq_client = bigquery.Client(project=project_id)
synchronous_api_response = bq_client._connection.api_request(
"POST",
f"/projects/{project_id}/queries",
data={"query": query, "useLegacySql": False},
)