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

迁移Google Cloud Container Registry至Artifact Registry遇RESOURCE_EXHAUSTED错误求助

解决Container Registry迁移至Artifact Registry时的RESOURCE_EXHAUSTED错误

问题根源

执行gcloud artifacts docker upgrade migrate批量迁移多项目时,命令会调用Cloud Asset API的analyzeIamPolicy接口校验IAM权限。短时间内高频请求该接口会触发API的速率限制,导致返回429错误,这类细分的速率配额可能不会在常规项目/组织配额页面中显示。

解决方案

  • 逐个项目迁移并添加间隔
    放弃批量指定多个项目,改为逐个执行迁移命令,每完成一个项目后等待5-10分钟再处理下一个,避免短时间内API请求过载:

    gcloud artifacts docker upgrade migrate --projects=单个项目ID
    
  • 检查Cloud Asset API的细分配额
    进入Cloud Console的API库,找到「Cloud Asset API」,查看其配额详情,重点关注analyzeIamPolicy接口的分钟级/小时级请求速率限制。部分速率配额不会在全局配额页面展示,需到对应API的配额页查看。

  • 申请Cloud Asset API配额提升
    如果确认是配额不足,在Cloud Console的配额页面找到Cloud Asset API对应的analyzeIamPolicy配额项,提交配额提升申请,说明用于Container Registry到Artifact Registry的迁移场景,请求更高的请求速率。

  • 用脚本控制迁移速率
    编写shell脚本遍历项目列表,自动执行迁移并添加固定间隔,避免手动操作的疏漏:

    # 替换为你的项目列表
    PROJECT_LIST=("project-1" "project-2" "project-3")
    
    for PROJECT_ID in "${PROJECT_LIST[@]}"; do
        echo "开始迁移项目: $PROJECT_ID"
        gcloud artifacts docker upgrade migrate --projects=$PROJECT_ID
        # 等待5分钟(300秒),可根据实际情况调整
        sleep 300
    done
    
  • 验证IAM权限完整性
    确保执行迁移命令的账号拥有cloudasset.analyzeIamPolicy权限,虽然首个项目迁移成功,但后续项目可能存在权限配置差异,可通过以下命令检查:

    gcloud projects get-iam-policy 目标项目ID --filter="bindings.permissions:cloudasset.analyzeIamPolicy"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:15:03