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

Google Cloud Scheduler调度Vertex AI流水线运行失败问题咨询

错误原因

你的报错返回404 NOT_FOUND,是因为你代码中注释使用的废弃API AIPlatformClient.create_schedule_from_job_spec 依赖GCP自动创建的名为templated_http_request-v1的Cloud Function,该函数没有被正常部署,导致Cloud Scheduler触发时找不到目标地址,不需要你手动创建对应URL。

解决方案
  • 优先使用新版Vertex AI SDK内置的流水线定时功能,弃用已被废弃的kfp.v2.google.client.AIPlatformClient相关API,新版功能不需要依赖额外的Cloud Function,修改后的代码参考如下:
# 之前的流水线定义、编译代码保持不变
compiler.Compiler().compile(
    pipeline_func=pipeline,
    package_path=COMPILED_PIPELINE_PATH,
)

# 创建PipelineJob实例
job = aip.PipelineJob(
    display_name=DISPLAY_NAME,
    template_path=COMPILED_PIPELINE_PATH,
    pipeline_root=PIPELINE_ROOT,
)

# 直接创建定时任务,不需要额外部署组件
job.create_schedule(
    display_name=f"{DISPLAY_NAME}-daily-schedule",
    cron=SCHEDULE,
    service_account=SERVICE_ACCOUNT
)
  • 运行代码前先确认项目已经启用以下必要API:Vertex AI API、Cloud Scheduler API、Cloud Storage API、IAM API
  • 确认你使用的服务账号具备以下权限,避免运行时权限报错:
    • Vertex AI 流水线运行者 (roles/aiplatform.pipelineRunner)
    • Cloud Scheduler 作业管理员 (roles/cloudscheduler.jobAdmin)
    • 存储对象管理员 (roles/storage.objectAdmin) (权限范围覆盖你流水线用到的GCS存储桶)
  • 如果之前已经在Cloud Scheduler中创建了失败的定时任务,先手动删除旧任务,再重新运行代码创建新的定时,避免资源冲突。

注意:你代码中设置本地凭据的两行仅在本地运行notebook时生效,流水线定时运行在GCP托管环境中,不会读取该本地路径,不会影响定时任务的运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:15:03