【问题标题】:Scheduling Automated Emails in AWS在 AWS 中安排自动电子邮件
【发布时间】:2019-03-31 05:01:07
【问题描述】:

我最近使用弹性 beanstalk 和 MERN(MongoDB、Express、React、NodeJS)堆栈创建了我的第一个 AWS Web 应用程序,现在我需要每天查询我的数据库以触发电子邮件。

最初我想在我的 Web 服务中创建一个处理查询+电子邮件逻辑的钩子,因为我的 Web 服务中已经拥有所有必需的模型/连接,并且每天只需要一个批处理作业来调用它Web 服务挂钩,但它需要发送凭据并通过 https 调用它。

或者,我可以在一个单独的批处理程序中重新编码我的所有 smtp/数据库模型和连接,以运行查询并发送电子邮件。

在不使用新的独立 EC2 实例的情况下,您认为 AWS 的哪个选项更好/可能? AWS Batch 或 Lambda 会更有意义吗?我需要每天在同一时间安排这些数据库查询+电子邮件的东西。

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-elastic-beanstalk aws-batch


    【解决方案1】:

    因为您需要每天在同一时间安排任务;您可以考虑的另一个选择是设置一个 worker 环境,您可以在其中使用 cron.yaml 文件部署您的应用程序。 然后,您需要做的就是更新您的安全组,授予工作人员访问您的数据库的权限。

    https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html#worker-periodictasks

    【讨论】:

      【解决方案2】:

      AWS 拥有丰富的工具集来解决此类需求。

      1. AWS Lambda 可以安排在确定的时间间隔运行。
      2. 生成要以 JSON 格式发送的数据(电子邮件的详细信息)
      3. 将 json 推送到 SQS 中
      4. 使用另一个 AWS Lambda 读取 SQS 以批量发送电子邮件

      与 EC2 实例相比,此解决方案具有可扩展性、可维护性且成本也将非常低。

      【讨论】:

        猜你喜欢
        • 2012-10-05
        • 2019-07-22
        • 2011-01-24
        • 2020-02-23
        • 2018-06-16
        • 2021-06-30
        • 1970-01-01
        • 2011-07-11
        相关资源
        最近更新 更多