-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Is your feature request related to a problem? Please describe.
It's frustrating to manually create client objects with user_supplied_client just to be able to customize the user_agent.
Describe the solution you'd like
I'd like user_agent to be configurable via connect_args when invoking sa.engine.create_engine. Since theClient is automatically created as part of create_connect_args, any user-provided connect_args can't currently be incorporated.
One solution would be to defer the creation of the Client object until BigQueryDialect.connect so that all connect_args (both from create_connect_args and the user) can be incorporated.
However, as a smaller iteration to allow control over this, it would be helpful to be able to specify the user_agent string as part of the URL so that parse_url (in the context of create_connect_args) can extract it as a ClientInfo object and pass it to _helpers.create_bigquery_client for automatic client creation.
Describe alternatives you've considered
Today, our only option seems to be user_supplied_client and creating our own client – and bq_storage_client – with appropriate ClientInfo populated.
Additional context
Add any other context or screenshots about the feature request here.