Расписание запуска / остановки на GCP SQL Экземпляр - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу запланировать мой SQL Экземпляр GCP. Как автоматически запустить / остановить SQL Экземпляр?

Я уже успешно запланировал виртуальную машину Compute Engine, но застрял в SQL Планировании экземпляра.

1 Ответ

0 голосов
/ 08 апреля 2020

Для этого вы можете использовать Облачная функция , чтобы позвонить на Облако 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

Вы можете увидеть мой код о том, как использовать функцию Cloud для запуска Cloud SQL instance и остановить Cloud SQL экземпляр

После создания функции Cloud вы можете настроить планировщик Cloud для запуска HTTP-адреса каждой функции Cloud или следовать рекомендованному подходу направляет и запускает функции с помощью pub / sub

...