From b1d5eca196f2804d2b22f6c68b5a68b51bb4b1ff Mon Sep 17 00:00:00 2001 From: treff7es Date: Wed, 5 Nov 2025 21:55:53 +0100 Subject: [PATCH] Fix bigquery user agent string --- .../source/bigquery_v2/bigquery_connection.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_connection.py b/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_connection.py index ac202ecffdcb6c..5bb56ff93cb06b 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_connection.py +++ b/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_connection.py @@ -15,8 +15,12 @@ def _get_bigquery_client_info() -> ClientInfo: - """Get ClientInfo with DataHub user-agent for BigQuery client identification""" - return ClientInfo(user_agent=f"datahub/{__version__}") + """Get ClientInfo with DataHub user-agent for GCP API identification. + + Follows Google's recommended format: + "/ver (GPN:; )" + """ + return ClientInfo(user_agent=f"DataHub/{__version__} (GPN:DataHub)") class BigQueryConnectionConfig(ConfigModel): @@ -68,9 +72,15 @@ def make_gcp_logging_client( client_options = self.extra_client_options.copy() client_options["_use_grpc"] = False if project_id is not None: - return GCPLoggingClient(**client_options, project=project_id) + return GCPLoggingClient( + **client_options, + project=project_id, + client_info=_get_bigquery_client_info(), + ) else: - return GCPLoggingClient(**client_options) + return GCPLoggingClient( + **client_options, client_info=_get_bigquery_client_info() + ) def get_sql_alchemy_url(self) -> str: if self.project_on_behalf: