Вызов конечной точки в проекте, развернутом в Google Cloud Platform

У меня есть приложение Spring Boot, которое я развернул в Google Cloud Platform. Он работает без ошибок, и я могу вызывать конечные точки Rest в проекте с помощью функции веб-предварительного просмотра GCP.

Однако я хочу вызывать одну из этих конечных точек один раз в день, используя что-то вроде cronjob. Я попытался создать облачный планировщик в GCP, но не смог найти URL-адрес для отправки запроса. Я потерялся в документах GCP, пробуя множество разных подходов, таких как докеризация моего проекта, создание облачных функций и т. Д., Которые не помогли.

Каков самый простой способ автоматически и регулярно вызывать конечную точку в проекте, который я развернул в GCP?




Ответы (2)


Вы действительно развернули свои приложения в GCP (на виртуальной машине Compute Engine, в кластере Kubernetes Engine, в качестве приложения App Engine и т. Д.)? Или вы просто запускаете приложение в Cloud Shell?

В последнем случае ваше приложение фактически не развернуто для производственного использования. Скорее, Cloud Shell больше похожа на рабочую станцию ​​разработчика, которая предоставляется вам по запросу (и бесплатно) в GCP. Чтобы получить доступ к вашему приложению на этом компьютере, вы должны использовать функцию предварительного просмотра в Интернете, которая подключает ваш браузер к порту на этом компьютере (после вашей аутентификации). Когда вы отключаетесь от Cloud Shell, машина отключается после периода бездействия (хотя домашний каталог сохраняется).

person MaratB    schedule 23.07.2020

Я попытался создать облачный планировщик в GCP, но не смог найти URL-адрес для отправки запроса.

Если ваше приложение развернуто в GAE, согласно официальному Cloud Scheduler документация (шаг 7) при выборе цели App Engine HTTP:

Укажите относительный URL-адрес конечной точки App Engine, к которой будет обращаться задание. Если вы используете значение по умолчанию /, тогда задание будет использовать PROJECT-ID.appspot.com, где PROJECT-ID - это идентификатор вашего текущего проекта.

В противном случае выберите на этом этапе цель HTTP - вам нужно будет указать полный URL-адрес конечной точки, с которой будет связываться задание.

Каков самый простой способ автоматически и регулярно вызывать конечную точку в проекте, который я развернул в GCP?

Cloud Scheduler - хороший вариант для повторяющихся заданий. Для приложений, развернутых в GAE, вы также можете планировать задания с помощью cron.yaml. Однако, поскольку изменение cron.yaml также означало бы изменение и повторное развертывание конфигурации вашего приложения, я считаю, что использование Cloud Scheduler более удобно для пользователя.

person Deniss Tsokarev    schedule 20.07.2020