1010 create_dataproc_batch_controller_client ,
1111 create_dataproc_job_controller_client ,
1212 create_gcs_client ,
13+ create_notebook_client ,
1314)
1415from dbt .adapters .bigquery .credentials import (
1516 BigQueryConnectionMethod ,
1920from dbt .adapters .bigquery .retry import RetryFactory
2021from dbt .adapters .events .logging import AdapterLogger
2122from dbt_common .exceptions import DbtRuntimeError
22- from google .api_core .client_options import ClientOptions
2323
2424from google .auth .transport .requests import Request
2525from google .cloud import aiplatform_v1
@@ -201,12 +201,7 @@ def __init__(self, parsed_model: Dict, credentials: BigQueryCredentials) -> None
201201 self ._model_name = parsed_model ["alias" ]
202202 self ._connection_method = credentials .method
203203 self ._GoogleCredentials = create_google_credentials (credentials )
204-
205- # TODO(jialuo): Add a function in clients.py for it.
206- self ._ai_platform_client = aiplatform_v1 .NotebookServiceClient (
207- credentials = self ._GoogleCredentials ,
208- client_options = ClientOptions (api_endpoint = f"{ self ._region } -aiplatform.googleapis.com" ),
209- )
204+ self ._notebook_client = create_notebook_client (self ._GoogleCredentials , self ._region )
210205 self ._notebook_template_id = parsed_model ["config" ].get ("notebook_template_id" )
211206 self ._packages = parsed_model ["config" ].get ("packages" , [])
212207 retry = RetryFactory (credentials )
@@ -231,7 +226,7 @@ def _get_notebook_template_id(self) -> str:
231226 parent = f"projects/{ self ._project } /locations/{ self ._region } " ,
232227 filter = "notebookRuntimeType = ONE_CLICK" ,
233228 )
234- page_result = self ._ai_platform_client .list_notebook_runtime_templates (request = request )
229+ page_result = self ._notebook_client .list_notebook_runtime_templates (request = request )
235230
236231 try :
237232 # Check if a default runtime template is available and applicable.
@@ -280,9 +275,7 @@ def _create_notebook_template(self) -> str:
280275 notebook_runtime_template = template ,
281276 )
282277
283- operation = self ._ai_platform_client .create_notebook_runtime_template (
284- request = create_request
285- )
278+ operation = self ._notebook_client .create_notebook_runtime_template (request = create_request )
286279 response = operation .result ()
287280
288281 return self ._extract_template_id (response .name )
@@ -434,10 +427,10 @@ def _submit_bigframes_job(
434427 )
435428
436429 try :
437- res = self ._ai_platform_client .create_notebook_execution_job (request = request ).result (
430+ res = self ._notebook_client .create_notebook_execution_job (request = request ).result (
438431 timeout = self ._polling_retry .timeout
439432 )
440- retrieved_job = self ._ai_platform_client .get_notebook_execution_job (name = res .name )
433+ retrieved_job = self ._notebook_client .get_notebook_execution_job (name = res .name )
441434 except TimeoutError as timeout_error :
442435 raise TimeoutError (
443436 f"The dbt operation encountered a timeout: { timeout_error } \n "
@@ -460,7 +453,7 @@ def _submit_bigframes_job(
460453 f"The colab notebook execution job '{ retrieved_job .name } ' finished with unexpected state: { retrieved_job .job_state .name } "
461454 )
462455
463- return self ._ai_platform_client .get_notebook_execution_job (name = res .name )
456+ return self ._notebook_client .get_notebook_execution_job (name = res .name )
464457
465458
466459def _install_packages (packages : list [str ]) -> None :
0 commit comments