在 Google Cloud Platform 中部署的项目中调用端点

Invoking endpoint in a project deployed in Google Cloud Platform

我在 Google Cloud Platform 中部署了一个 Spring 启动应用程序。它运行没有任何错误,我可以使用 GCP 的 Web 预览功能调用项目中的 Rest 端点。

但是,我想做的是每天使用 cronjob 之类的方法调用这些端点之一。我尝试的是在 GCP 中创建一个 Cloud Scheduler,但我无法找到哪个 url 来发送请求。我迷失在 GCP 文档中,尝试了许多不同的方法,例如对我的项目进行 docker 化、创建云函数等,但都没有帮助。

自动定期调用我在 GCP 中部署的项目中的端点的最简单方法是什么?

What I tried is to create a Cloud Scheduler in GCP but I wasn't able to find which url to send the request.

如果您的应用部署在 GAE 上,根据官方 Cloud Scheduler documentation(第 7 步),当 selecting App Engine HTTP 目标:

指定作业将联系的 App Engine 端点的相对 URL。如果您使用默认值 /,则作业将使用 PROJECT-ID.appspot.com,其中 PROJECT-ID 是您当前的项目 ID。

否则,select 该步骤中的 HTTP 目标 - 您将需要指定作业将联系的端点的完全限定 URL。

What is the easiest way to automatically and regularly invoke an endpoint in the project that I deployed in GCP?

Cloud Scheduler is a good option for repeated jobs. For the apps deployed on GAE you can also schedule jobs with cron.yaml。但是,由于修改 cron.yaml 也意味着修改并重新部署您的应用程序配置,我认为使用 Cloud Scheduler 更加人性化。

您是否真的将应用程序部署到 GCP(到 Compute Engine VM、Kubernetes Engine 集群、作为 App Engine 应用程序等)?或者您只是 运行 您在 Cloud Shell 中申请?

如果是后者,则您的应用程序实际上并未部署用于生产用途。相反,Cloud Shell 更类似于在 GCP 中按需(免费)为您配置的开发工作站。要在该机器上访问您的应用程序,您必须使用 Web 预览功能将您的浏览器连接到该机器上的端口(在对您进行身份验证之后)。当您与 Cloud Shell 断开连接时,机器会在一段时间不活动后消失(尽管主目录会保留)。