MaksYermak commented on code in PR #31925: URL: https://github.com/apache/airflow/pull/31925#discussion_r1235187111
########## airflow/providers/google/cloud/hooks/spanner.py: ########## @@ -18,28 +18,43 @@ """This module contains a Google Cloud Spanner Hook.""" from __future__ import annotations -from typing import Callable, Sequence +from typing import Callable, NamedTuple, Sequence from google.api_core.exceptions import AlreadyExists, GoogleAPICallError from google.cloud.spanner_v1.client import Client from google.cloud.spanner_v1.database import Database from google.cloud.spanner_v1.instance import Instance from google.cloud.spanner_v1.transaction import Transaction from google.longrunning.operations_grpc_pb2 import Operation +from sqlalchemy import create_engine from airflow.exceptions import AirflowException +from airflow.providers.common.sql.hooks.sql import DbApiHook from airflow.providers.google.common.consts import CLIENT_INFO -from airflow.providers.google.common.hooks.base_google import GoogleBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook, get_field -class SpannerHook(GoogleBaseHook): +class SpannerConnectionParams(NamedTuple): + """Information about Google Spanner connection parameters.""" + + project_id: str | None + instance_id: str | None + database_id: str | None + + +class SpannerHook(GoogleBaseHook, DbApiHook): """ Hook for Google Cloud Spanner APIs. All the methods in the hook where project_id is used must be called with keyword arguments rather than positional. """ + conn_name_attr = "gcp_conn_id" + default_conn_name = "google_cloud_spanner_default" + conn_type = "gcpspanner" + hook_name = "Google Cloud Spanner" Review Comment: Some time ago we had this `extra` field for extra parameters in the `google_cloud_default` connection, but then we decided for each extra parameter to create its own field. In my opinion it is not a good idea to return the `extra` field for `google_cloud_default`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org