根据文档https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch我们应该能够通过将 serviceStatus 更改为 STOPPED 来停止应用引擎实例。
但是,文档含糊不清。有人知道如何通过 API 停止应用引擎实例吗?
不清楚的元素:
- “要更新的资源的名称。示例:apps/myapp/services/default/versions/1。” 如何找到“资源名称”?
- “updateMask” 应该是什么样子?它是 JSON 格式的吗?
答案1
以下是如何停止/服务使用 API 修改您的 App Engine 版本,只需替换PROJECTID
、SERVICEID
和VERSIONID
:
curl --request PATCH \
"https://appengine.googleapis.com/v1/apps/PROJECTID/services/SERVICEID/versions/VERSIONID?updateMask=servingStatus" \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{"servingStatus":"STOPPED"}' \
--compressed
为了让您充分了解它的构建方式,有一个 API Explorer 或面板。它有一个标题“尝试这个 API”在屏幕右侧,单击框图标以最大化或单击此处关联重定向。填写必填字段:
appsId
- 您的项目ID。servicesId
- 去App Engine > 服务或执行gcloud
命令:gcloud app services list
查看您的 App Engine 服务。默认姓名或者servicesID
您的 App Engine 服务默认。versionsId
- 去App Engine > 版本或执行gcloud
命令:gcloud app versions list
查看已部署的 App Engine 版本并复制版本号您想要更新。updateMask
- 您想要更新的 App Engine 版本中的配置,例如:服务状态或者实例类
要了解有关 API 中的字段及其定义的更多信息,请访问此目录。它将对您如何通过 API 配置 App Engine 版本提供很大帮助。
注意:如果您的应用程序配置了自动扩展,则您无法停止 App Engine 版本。