【问题标题】:Schedule Start/stop on GCP SQL Instance在 GCP SQL 实例上安排启动/停止
【发布时间】:2020-04-08 21:25:48
【问题描述】:

我想安排我的 GCP 的 SQL 实例。 如何自动触发启动/停止 SQL 实例?

我已经成功调度了计算引擎虚拟机,但卡在了 SQL 实例调度中。

【问题讨论】:

标签: google-cloud-sql


【解决方案1】:

为了实现这一点,您可以使用Cloud Function 调用Cloud SQL Admin API 来启动和停止您的 Cloud SQL 实例(您将需要 2 个 Cloud 函数)

def hello_world(request):

instance = 'test'  # TODO: Update placeholder value.
request = service.instances().get(project=project, instance=instance)
response = request.execute()
j = response["settings"]
settingsVersion = int(j["settingsVersion"])

dbinstancebody = {
   "settings": {
       "settingsVersion": settingsVersion,
       "tier": "db-n1-standard-1",
       "activationPolicy": "Always"
   }
}

request = service.instances().update(
   project=project,
   instance=instance,
   body=dbinstancebody)
response = request.execute()
pprint(response)

request_json = request.get_json()

if request.args and 'message' in request.args:
    return request.args.get('message')
elif request_json and 'message' in request_json:
    return request_json['message']
else:
    return f"Hello World!"

requirements.txt

google-api-python-client==1.7.8
google-auth-httplib2==0.0.3
google-auth==1.6.2
oauth2client==4.1.3

您可以查看我的代码,了解如何使用云函数到start a Cloud SQL instancestop a Cloud SQL instance

创建云函数后,您可以configure the Cloud Scheduler触发每个云函数的HTTP地址,或者您可以按照guide的推荐方法使用pub/sub触发函数

【讨论】:

  • 您好,感谢您的回答,我在尝试您的解决方案时遇到此错误:“请求时出现 HttpError 400...无效请求:PostgreSQL 数据库只允许自定义机器实例类型和共享核心实例类型。”
猜你喜欢
  • 2014-01-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
相关资源
最近更新 更多