【问题标题】:Serverles web app with automatically created, scheduled one time jobs具有自动创建、计划的一次性作业的无服务器 Web 应用程序
【发布时间】:2020-05-12 17:03:53
【问题描述】:

我试图弄清楚创建一个无服务器 Web 应用程序是否可行,其中 API 函数创建一个计划在特定时间和日期运行一次的作业。

我查看了三个主要提供商,AWS、Google Cloud 和 Microsoft Azure。总体而言,这三个都提供了无服务器 Web 应用程序所需的一切,但我不确定它们是否支持我上面描述的内容。

AWS 有 CloudWatch,它有一个 API。但是,API 文档中没有任何关于事件的内容,看起来事件只能在控制台中手动创建或通过Terraform

Google Cloud 有 Scheduler。但是,文档中没有提到 API。不过它也支持Terraform

Microsoft 有 Azure 调度程序,而且那个似乎支持 creating jobs via an API.

Terraform 不需要 API,所以我错过了什么吗?

我对无服务器 Web 应用程序完全陌生。这甚至是正确的方法吗?

编辑:

我刚刚意识到可以通过 API 创建 Amazon CloudWatch 事件,但是,它被称为 EventBridge... 这让我觉得我可能也错过了 Google Cloud 中的某些内容。但是,我仍然想知道这是否是正确的方法?

提供更多关于我想做的事情的细节:

  1. 用户在 Web 前端创建事件。

  2. 前端调用的我的 API 函数创建了某个云版本的 cronjob,该任务将在特定时间和日期运行一次

  3. 作业触发另一个函数,该函数在用户指定的时间使用第三方 API 执行某些操作

【问题讨论】:

  • 假设您的意思是安排一个 cron 作业任务来触发无服务器功能。对于 AWS,您可以使用带有规则(通过 cron 作业触发)的 cloudwatch 来重复启动 lambda。

标签: amazon-web-services azure google-cloud-platform serverless


【解决方案1】:

在 Google Cloud 上,您可以将应用部署在无服务器服务(Cloud Run、Cloud Function 或 App Engine)上。然后,您可以设置 Cloud Scheduler。 Cloud Scheduler 可以调用 HTTP URL,然后触发您的无服务器服务。

关于 Google Cloud 服务的 API 可访问性,“All is API”。因此,您可以通过 API 调用在控制台或 GCLOUD cli 上做所有可以做的事情。

【讨论】:

    猜你喜欢
    • 2019-08-16
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 2012-04-19
    相关资源
    最近更新 更多