You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移GCP AI Platform自定义作业到Vertex AI:如何获取状态与日志

Vertex AI 自定义作业状态查询与日志流式拉取替代实现

作业状态查询实现

原有AI Platform的ml v1接口不再适配Vertex AI作业,替换为aiplatform v1接口即可,资源路径需匹配Vertex AI的层级规则,代码逻辑和原有写法基本一致:

from google.oauth2 import service_account
from googleapiclient import discovery

scopes = ['https://www.googleapis.com/auth/cloud-platform']
credentials = service_account.Credentials.from_service_account_file(keyFile, scopes=scopes)
# 替换服务名为aiplatform,使用v1版本API
ai_platform_client = discovery.build("aiplatform", "v1", credentials=credentials, cache_discovery=False)
# 替换为你的实际项目ID、作业部署区域、自定义作业ID
job_resource_name = f"projects/{your_project_id}/locations/{job_region}/customJobs/{job_id}"
job_detail = ai_platform_client.projects().locations().customJobs().get(name=job_resource_name).execute()
# 状态字段仍为state,返回Vertex AI定义的作业状态枚举值
return job_detail['state']

常见返回状态说明:

  • JOB_STATE_QUEUED:作业已提交,排队等待资源调度
  • JOB_STATE_RUNNING:作业正在运行
  • JOB_STATE_SUCCEEDED:作业执行成功
  • JOB_STATE_FAILED:作业执行失败
  • JOB_STATE_CANCELLED:作业已被取消
  • JOB_STATE_CANCELLING:作业正在执行取消操作

作业日志流式拉取实现

原AI Platform的stream-logs命令对应Vertex AI自定义作业的日志拉取命令,只需替换命令前缀并补全必填的区域、项目参数即可:

命令行直接调用

gcloud ai custom-jobs stream-logs <你的自定义作业ID> --region=<作业所在区域> --project=<你的GCP项目ID>

Python代码中调用

直接替换原有cmd变量即可:

cmd = f'gcloud ai custom-jobs stream-logs {job_id} --region={job_region} --project={your_project_id}'

注意事项

  • 传入的作业ID是创建自定义作业后返回的短ID,不是完整的资源路径字符串
  • 区域参数必须和作业创建时指定的部署区域完全一致,否则会出现找不到作业的错误
  • 如果使用自定义服务账号拉取日志,需要确保该账号已分配Vertex AI查看者、日志查看者相关的IAM权限,否则会出现权限不足报错

内容的提问来源于stack exchange,提问作者Stiefel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 17:39:21