Skip to content

Commit ee05588

Browse files
committed
fixed runtime errors in update and pause functions
1 parent e6ffa31 commit ee05588

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

google/cloud/aiplatform/jobs.py

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
from google.auth import credentials as auth_credentials
3030
from google.protobuf import duration_pb2 # type: ignore
31+
from google.protobuf import field_mask_pb2 # type: ignore
3132
from google.rpc import status_pb2
3233

3334
from google.cloud import aiplatform
@@ -1952,7 +1953,9 @@ def __init__(
19521953
location=location,
19531954
credentials=credentials,
19541955
)
1955-
self._gca_resource = self._get_gca_resource(resource_name=self.job_name)
1956+
self._gca_resource = self._get_gca_resource(
1957+
resource_name=model_deployment_monitoring_job_name
1958+
)
19561959
self._endpoint_resource_name = ""
19571960

19581961
@classmethod
@@ -1985,6 +1988,10 @@ def _parse_configs(
19851988
all_configs = []
19861989
all_models = []
19871990
default_endpoint = "aiplatform.googleapis.com"
1991+
if aiplatform.initializer.global_config._location is None:
1992+
raise ValueError(
1993+
"Error parsing model monitoring objective configs: project location is not set"
1994+
)
19881995
client_options = dict(
19891996
api_endpoint=f"{aiplatform.initializer.global_config._location}-{default_endpoint}"
19901997
)
@@ -2309,7 +2316,7 @@ def update(
23092316
) -> "ModelDeploymentMonitoringJob":
23102317
""""""
23112318
current_job = self.api_client.get_model_deployment_monitoring_job(
2312-
name=self.model_deployment_monitoring_job_name
2319+
name=self._gca_resource.name
23132320
)
23142321
update_mask: List[str] = []
23152322
if display_name:
@@ -2339,27 +2346,40 @@ def update(
23392346
update_mask.append("model_deployment_monitoring_objective_configs")
23402347
current_job.model_deployment_monitoring_objective_configs = (
23412348
ModelDeploymentMonitoringJob._parse_configs(
2342-
objective_configs, self._endpoint_resource_name
2349+
objective_configs, current_job.endpoint, deployed_model_ids
23432350
)
23442351
)
23452352
self.api_client.update_model_deployment_monitoring_job(
2346-
model_deployment_monitoring_job=current_job, update_mask=update_mask
2353+
model_deployment_monitoring_job=current_job,
2354+
update_mask=field_mask_pb2.FieldMask(paths=update_mask),
23472355
)
23482356

23492357
def pause(self) -> "ModelDeploymentMonitoringJob":
23502358
""""""
2351-
self.api_client.pause_model_deployment_monitoring_job(
2352-
self.model_deployment_monitoring_job_name
2353-
)
2359+
if self.state == gca_job_state.JobState.JOB_STATE_RUNNING:
2360+
self.api_client.pause_model_deployment_monitoring_job(
2361+
name=self._gca_resource.name
2362+
)
2363+
else:
2364+
raise RuntimeError(
2365+
"The monitoring job can only be paused under running / pending state, the current state is: %s"
2366+
% self.state
2367+
)
23542368

23552369
def resume(self) -> "ModelDeploymentMonitoringJob":
23562370
""""""
2357-
self.api_client.resume_model_deployment_monitoring_job(
2358-
self.model_deployment_monitoring_job_name
2359-
)
2371+
if self.state == gca_job_state.JobState.JOB_STATE_PAUSED:
2372+
self.api_client.resume_model_deployment_monitoring_job(
2373+
name=self._gca_resource.name
2374+
)
2375+
else:
2376+
raise RuntimeError(
2377+
"The monitoring job can only be resumed under paused state"
2378+
)
23602379

23612380
def delete(self) -> "ModelDeploymentMonitoringJob":
23622381
""""""
2382+
self.pause()
23632383
self.api_client.delete_model_deployment_monitoring_job(
2364-
self.model_deployment_monitoring_job_name
2384+
name=self._gca_resource.name
23652385
)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy