部署gcloud Python应用时出现compute.googleapis.com服务报错是什么原因?
错误:(gcloud.app.deploy) 操作 "operations/acf.p2-222084527338-d61d0401-cb0a-4f69-a07c-131799bd4cf8" 执行失败:[服务 'compute.googleapis.com' 的钩子调用/轮询返回失败结果:该服务当前正在停用中,必须等停用操作全部完成后才能发起启用操作。
帮助令牌:Ae-hA1M43mY8ADlPerCsLr9bUDXGJzibJgQCO0CGx3Kz1JRn6XpVB5Q_ebTfPxKEuaBwHKVFwspMAyx7_epjrFKFEzDDbDBy_oYncVroZlxGECPx] 失败服务列表 [compute.googleapis.com]
详情:"[<DetailsValueListEntry
附加属性:[<AdditionalProperty
键:'@type'
值:<JsonValue
字符串值:'type.googleapis.com/google.rpc.PreconditionFailure'>>, <AdditionalProperty
键:'violations'
值:<JsonValue
数组值:<JsonArray
条目:[<JsonValue
对象值:<JsonObject
该报错核心原因是部署App Engine应用时需要调用的*Compute Engine API(compute.googleapis.com)*正处于停用流程中,Google Cloud API的停用、启用均为异步后台操作,必须等前一次停用操作完全执行完成,才能发起新的启用请求,否则就会触发前置条件不满足的错误。
- 首先等待15~30分钟,不要重复执行部署命令,等待后台已发起的API停用流程完全执行完毕
- 等待结束后执行以下命令验证API状态:
如果命令无输出,说明API已经完成停用,执行以下命令手动启用API:gcloud services list --enabled | grep compute.googleapis.comgcloud services enable compute.googleapis.com - 等到API启用成功的提示返回后,再重新执行
gcloud app deploy命令发起部署 - 如果等待超过1小时仍报同样错误,可以登录Google Cloud控制台进入「API和服务」页面,搜索Compute Engine API,在页面上手动触发启用操作,等待状态变为「已启用」后再尝试部署
- 确认当前gcloud认证的账号具备对应项目的
serviceusage.services.enable权限 - 确认项目不存在欠费、资源使用限制等账户异常问题
内容的提问来源于stack exchange,提问作者Tishya

