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

使用Python API客户端库创建/获取Cloud Run Job报404错误

问题原因

你的报错和权限没有关系,核心问题出在Cloud Run v1 API的调用规则上:

  • Cloud Run v1 API的全局端点(默认的run.googleapis.com)仅支持跨区域的资源列举(list)操作,会返回项目下所有区域的作业,这也是你调用list接口能正常拿到my-job的原因。
  • 所有单资源操作(get/create/update/delete)都必须调用对应区域的专属端点,且资源路径必须携带区域标识,你之前的路径namespaces/my-project/jobs/my-job缺少区域段,全局端点无法定位到具体区域的资源,就会返回404。
修复方法
  • 先确认你创建my-job时使用的区域,执行以下gcloud命令可直接查询所有作业对应的区域:
gcloud beta run jobs list --format="value(metadata.name, metadata.location)"
  • 初始化API客户端时,显式指定对应区域的API端点,同时修正资源路径格式,正确的资源路径格式为namespaces/{项目ID}/locations/{区域}/jobs/{作业名}。

以区域us-central1为例,get接口的正确调用代码如下:

import googleapiclient.discovery

# 替换为你实际使用的区域
region = "us-central1"
endpoint = f"https://{region}-run.googleapis.com"

with googleapiclient.discovery.build(
    "run", "v1", client_options={"api_endpoint": endpoint}
) as client:
    # get调用
    get_req = client.namespaces().jobs().get(
        name=f"namespaces/my-project/locations/{region}/jobs/my-job"
    )
    print(get_req.execute())
  • 创建作业的代码同步修正parent参数,同样携带区域路径:
import googleapiclient.discovery

region = "us-central1"
endpoint = f"https://{region}-run.googleapis.com"

with googleapiclient.discovery.build(
    "run", "v1", client_options={"api_endpoint": endpoint}
) as client:
    create_req = client.namespaces().jobs().create(
        parent=f"namespaces/my-project/locations/{region}",
        body={
            "metadata": {"name": "my-job2"},
            "spec": {
                "template": {
                    "spec": {
                        "template": {
                            "spec": {
                                "containers": [
                                    {"image": "us-docker.pkg.dev/cloudrun/container/job:latest"}
                                ]
                            }
                        }
                    }
                }
            }
        }
    )
    print(create_req.execute())

注:gcloud CLI会自动读取你本地配置的默认区域,自动路由到对应区域端点、拼接正确的资源路径,所以你用gcloud创建作业时不会触发这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:30:48