amazon-web-services - 具有自动创建、计划的一次性作业的 Serverles Web 应用程序
问题描述
我试图弄清楚创建一个无服务器 Web 应用程序是否可行,其中 API 函数创建一个计划在特定时间和日期运行一次的作业。
我查看了三个主要的提供商,AWS、谷歌云和微软 Azure。这三个都提供了一般无服务器 Web 应用程序所需的一切,但我不确定我是否理解它们中的任何一个是否支持我上面描述的内容。
AWS 有CloudWatch,它有一个 API。但是,API 文档中没有任何关于事件的内容,看起来事件只能在控制台中手动创建或通过Terraform创建。
谷歌云有调度器。但是,文档中没有提到 API。不过,它也支持Terraform。
微软有 Azure 调度器,它似乎支持通过 API 创建作业。
Terraform 不需要 API,所以我错过了什么吗?
我对无服务器 Web 应用程序完全陌生。这甚至是正确的方法吗?
编辑:
我刚刚意识到可以通过 API 创建 Amazon CloudWatch 事件,但是,它被称为EventBridge ......这让我觉得我可能也错过了 Google Cloud 中的某些内容。但是,我仍然想知道这是否是正确的方法?
要提供有关我想做的事情的更多详细信息:
用户在 Web 前端创建事件。
前端调用的我的 API 函数创建了将在特定时间和日期运行一次的 cronjob 的一些云版本
该作业触发另一个函数,该函数在用户指定的时间使用第三方 API 执行某些操作
解决方案
在 Google Cloud 上,您可以将应用部署在无服务器服务(Cloud Run、Cloud Function 或 App Engine)上。然后,您可以设置 Cloud Scheduler。Cloud Scheduler 可以调用 HTTP URL,然后触发您的无服务器服务。
关于 Google Cloud 服务的 API 可访问性,“All is API”。因此,您可以通过 API 调用在控制台或 GCLOUD cli 上做所有可以做的事情。
推荐阅读
- javascript - 如何在 Firebase 分析中禁用自动 page_view 日志记录
- c# - 在不同项目中使用模型进行 EF 迁移
- android - 在我上传我的 apk 进行封闭测试后,有没有办法更改包名称?
- javascript - 滚动正在跳过标题并从正文开始
- python - 命令提示符和 Powershell 无法识别任何命令
- json - Kotlinx 序列化:如何绕过 reified typeargs 进行反序列化?
- django - Django-allauth 创建自定义注册表单
- r - 在 R 中使用 select_if 中的函数子集数据帧以使其以分组变量为条件?
- java - Java 等效的 PHP 代码返回不同的 base 64 编码结果
- swift - 表单值更新时使用 Combine + SwiftUI 来更新值