我试图弄清楚创建一个无服务器 Web 应用程序是否可行,其中 API 函数创建一个计划在特定时间和日期运行一次的作业。
我研究了三个主要提供商:AWS、Google Cloud 和 Microsoft Azure。一般来说,这三者都提供了无服务器 Web 应用程序所需的一切,但我不确定我是否理解它们中的任何一个是否支持我上面描述的内容。
AWS 有 CloudWatch ,它有一个 API。然而,API 文档中没有任何关于事件的内容,看起来事件只能在控制台中手动创建或通过 Terraform 创建。 .
Google Cloud 具有 Scheduler 。但是,文档中没有提及 API。它确实支持 Terraform不过,也是如此。
微软有 Azure Scheduler,而且它似乎支持 creating jobs via an API.
Terraform 不需要 API,所以我错过了什么吗?
我对无服务器 Web 应用程序完全陌生。这是正确的方法吗?
编辑:
我刚刚意识到可以通过 API 创建 Amazon CloudWatch 事件,但是它的名称为 EventBridge ...这让我觉得我可能也错过了 Google Cloud 中的某些内容。但是,我仍然想知道这是否是正确的方法?
提供有关我想做的事情的更多详细信息:
用户在 Web 前端创建事件。
前端调用的 API 函数创建了某个云版本的 cronjob,该版本将在特定时间和日期运行一次
作业触发另一个函数,该函数在用户指定的时间使用第三方 API 执行某些操作
最佳答案
在 Google Cloud 上,您可以将应用部署在无服务器服务(Cloud Run、Cloud Function 或 App Engine)上。然后,您可以设置云调度程序。 Cloud Scheduler 可以调用 HTTP URL,然后触发您的无服务器服务。
关于 Google Cloud 服务的 API 可访问性,“一切皆 API”。因此,您可以通过 API 调用在控制台或 GCLOUD cli 上执行所有操作。
关于amazon-web-services - 无服务器 Web 应用程序,具有自动创建、计划的一次性作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61734802/