AWS:我可以使用啥来在 RDS 上运行定期任务?

Posted

技术标签:

【中文标题】AWS:我可以使用啥来在 RDS 上运行定期任务?【英文标题】:AWS: What can I use to run periodic tasks on RDS?AWS:我可以使用什么来在 RDS 上运行定期任务? 【发布时间】:2017-11-03 12:43:59 【问题描述】:

在特定的 RDS 列中作为日期,我会在用户试用结束时保留该信息。

我将每天检查数据库中的这些日期,当离试用期结束的时间还不到几天时,我想发送一封电子邮件(带有 SES)。

如何在 AWS 中运行定期任务来检查数据库?我知道我可以使用:

拉姆达 EC2(或 Elastic Beanstalk)

还有其他我错过的解决方案吗?

【问题讨论】:

你只会在这里得到这类问题的意见,堆栈不是这个问题的最佳位置。此外,恕我直言,您已经有了最好的解决方案,即使用 Cloudwatch 安排的 Lambda。 你没有提到哪种RDS。 RDS Aurora for mysql 有一个内置的事件调度程序,可以从 RDS 本身内部生成 Lambda 函数。 【参考方案1】:

您也可以为此使用AWS Batch。如果工作繁重且需要更多时间来完成,这更适合。

【讨论】:

【参考方案2】:

检查需要多长时间?如果花费不到 300 秒并且在 Lambda 的限制范围内 (AWS Lambda Limits),则使用 Lambda 安排任务:Schedule Expressions Using Rate or Cron

否则,最好的选择是使用:AWS Data Pipeline。非常容易定期安排和运行您的自定义脚本。它至少会为实例收费一小时。

【讨论】:

【参考方案3】:

和 lamda 一起去here

您可以创建一个 Lambda 函数并指示 AWS Lambda 定期执行它。您可以指定固定速率(例如,每小时或每 15 分钟执行一次 Lambda 函数),也可以指定 Cron 表达式。

【讨论】:

以上是关于AWS:我可以使用啥来在 RDS 上运行定期任务?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 AWS RDS 上使用数据存储? [关闭]

停止并启动在 EC2 和 mysql RDS 上运行 php 的 AWS Elastic Beanstalk

在 AWS Elastic BeanStalk 上运行的 Spring Boot 应用程序中配置 AWS RDS

将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷

Laravel 7- AWS - 运行“php artisan migrate”时出现 Elastic Beanstalk + RDS 错误

AWS Lambda 任务在 3.00 秒后超时