我正在为 Google App Engine 项目使用后端实例。(前端实例无法处理超过 60 秒的请求——我需要更长的时间。)
我选择了 B4 实例类型,因为有时负载很高。然而,在某些时候(比如凌晨 2 点到 7 点),负载太低以至于拥有 B4 实例是多余的。
我想做一个 cron 作业,在某些时间将该实例的类型更改为 B2,在其他时间更改为 B4 以节省成本。
但是,查看Modules API,我找不到这样做的方法。
那么我该怎么做呢?
在得到 Ramiel 的回答后进行编辑
最后,我使用了 Admin API,如下所示:
# Construct the api client
cred = GoogleCredentials.get_application_default()
svc = discovery.build('appengine', 'v1', credentials=cred)
vapi = svc.apps().services().versions()
# get list of versions
o = vapi.list(appsId=app_identity.get_application_id(), servicesId=modules.get_current_module_name()).execute()
# PATCH all SERVING versions with the new instanceClass
for v in o['versions']:
if v['servingStatus'] == 'SERVING':
result = vapi.patch(
appsId=app_identity.get_application_id(),
servicesId=modules.get_current_module_name(),
versionsId=v['id'],
updateMask='instanceClass',
body={
'instanceClass': instanceClass
}
).execute()