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

Cloud Run Admin API调用429配额异常问题求助

Cloud Run Job执行触发429错误排查

问题背景

我开发了两个部署在Cloud Run中的Python函数:

  • 第一个函数用于按需创建Job
  • 第二个函数用于执行已创建的Job

当执行函数创建并运行3个Job时一切正常,但添加第4个请求创建并运行第4个Job时,Job创建成功但执行函数返回状态码429。我的Cloud Run Admin API的“Job run requests per minute per region”配额为10次,4次创建请求加4次执行请求总计8次,并未超出配额,请问为何会出现该错误?

创建Job的函数代码

def google_cloud_create_job(job_uuid,payload_job,token):
    try:
        url = "https://us-central1-run.googleapis.com/v2/xxxxxxxxxxxxx/locations/us-central1/jobs?jobId=job-name-{0}&validateOnly=False".format(str(job_uuid))

        payload = payload_job

        headers = {
        'Authorization': 'Bearer {}'.format(token),
        'Content-Type': 'application/json'
        }

        response = requests.request("POST", url, headers=headers, data=payload)
        print(response.text)

        return response.status_code
    except Exception as e:
        print(e)

执行Job的函数代码

def google_cloud_run_job(job_uuid, token):
    url = "https://us-central1-run.googleapis.com/v2/xxxxxxxxxxxxxxxxxx/locations/us-central1/jobs/job-name-{0}:run".format(str(job_uuid))
    print(url)

    headers = {
    'Authorization': 'Bearer {}'.format(token),
    'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers)

    return response.status_code

可能的原因及排查方向

1. 瞬时速率限制触发

Cloud Run Admin API除了分钟级的配额限制,还有每秒请求数(QPS)的瞬时限制。即使你分钟内总请求数没到10次,如果4次执行请求在极短时间(比如1秒内)集中发起,就会触发这个瞬时限流,返回429。

2. 配额统计维度误解

注意Job run requests per minute per region配额仅统计执行Job的jobs:run接口请求,创建Job的请求属于另一个配额项(比如Job create requests)。但如果你的执行请求确实只有4次,那可能是其他隐藏的配额被触发:比如部分项目可能有Requests per minute per project的全局API限制,或者你调用的接口路径对应的其他细分配额。

3. 隐式重试导致请求数超标

检查代码或依赖库是否有自动重试机制:比如requests库的重试插件、Cloud Run对失败请求的自动重试,可能导致实际发送的执行请求数超过你手动统计的4次,进而触发配额限制。

4. Cloud Run服务自身限流

你的执行函数部署在Cloud Run上,Cloud Run有默认的并发限制(比如每个实例最多处理100个请求,具体看配置)。如果4个执行请求同时到达,Cloud Run还没完成实例扩容,可能会返回429(这种情况的429是Cloud Run服务返回,而非Cloud Run Admin API返回)。

排查建议

  • 查看429响应的详细内容:响应体里通常会包含具体的错误说明和Retry-After头,能明确是瞬时速率限制还是配额耗尽,以及对应的配额项。
  • 核对Cloud Console配额数据:进入IAM与管理 > 配额页面,搜索Cloud Run Admin API的所有配额项,查看Job run requests的实时使用量,确认是否存在超出预期的请求计数。
  • 添加请求延迟:在调用google_cloud_run_job后添加1-2秒的延迟,测试是否还会触发429,验证是否是瞬时速率限制导致。
  • 查看Cloud Run日志:区分429是来自Cloud Run服务本身的限流,还是Cloud Run Admin API的返回,针对性排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:40:17