Есть ли способ запланировать команды Cloud Shell в Google Cloud Platform?

Я хочу запланировать некоторые из моих команд загрузки таблицы BigQuery, которые я выполняю в CLI Cloud Shell. Как я могу запланировать свои команды интерфейса командной строки в Google Cloud Platform?


comment
1) Стоит ли вам это делать? См. Ответ @ Chris32. 2) Сможете ли вы это сделать? Да, вы можете использовать ssh для удаленного выполнения команд в Cloud Shell. Я написал программу на Golang с обширным интерфейсом для удаленного взаимодействия с Cloud Shell: github.com/jhanley-com/google-cloud-shell-cli-go 3) Также просмотрите cloud.google.com/sdk/gcloud/reference/alpha/cloud-shell/ssh 4) Я бы использовал Cloud Run и Cloud Scheduler. Создайте контейнер с вашими командами, заключенными в интерфейс REST, разверните его в Cloud Run и запланируйте его по своему усмотрению.   -  person John Hanley    schedule 02.06.2020


Ответы (2)


Cloud Shell не является инструментом, предназначенным для использования в производственной среде, вам следует изучить его условия использования. вы можете найти эту часть особенно блокирующей для этой цели:

Неинтерактивные сеансы будут завершены автоматически после предупреждения. Обратите внимание, что сеансы Cloud Shell ограничены 12 часами, после чего сеансы автоматически завершаются.

На самом деле вы можете создать облачную функцию и запустить ее с помощью задания cron или использовать экземпляр Compute Engine и запланировать команду в Linux

person Chris32    schedule 01.06.2020

  1. Используйте Cloud Scheduler для оболочки заданий, например триггера HTTP.
  2. Создайте контейнер Cloud Run, выполняющий нужные команды в триггере HTTP. Вот пример .

Это решение бессерверное, запускается только при срабатывании. Cloud Run разрешает 2M запроса бесплатно. Cloud Scheduler позволяет бесплатно выполнять 3 задания в месяц на одну учетную запись, тогда стоимость / задание / месяц составляет 0,10 доллара США.

person Pentium10    schedule 01.06.2020