【问题标题】:Aws Scheduler Events to trigger it after every 24 hoursAws 调度程序事件每 24 小时触发一次
【发布时间】:2017-09-15 12:38:56
【问题描述】:

我找到了一种在某个时间点触发 aws lambda 函数的方法,例如每 5 分钟或 20 小时一次,但在整个互联网上进行了搜索,但无法找到如何自动触发它并使该事件进入内部app.get('/cron/job') 方法。

毫无疑问,lambda 函数将在我们指定的任何时间触发,这对我有用。但我的问题是,我无法在每次触发进入 app.get('/cron/job') 后制作 lambda。意味着不是整个 lambda,而只是 lambda 中的一个代码。 怎么做。

请任何帮助都可以。

【问题讨论】:

  • 谢谢先生,但我已经看到了这个链接stackoverflow.com/questions/27382009/aws-lambda-scheduled-tasks它并没有解决我的问题。毫无疑问,lambda 函数可以每 24 小时触发一次。但我的问题是我无法在每次触发进入 app.get('/cron/job') 后制作 lambda。怎么做。感谢@Anthony 先生正确指定我的查询。

标签: node.js amazon-web-services aws-lambda aws-api-gateway


【解决方案1】:

您可以创建一个 Lambda 函数并指示 AWS Lambda 定期执行它。 http://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events.html

【讨论】:

  • 仅供参考,这个问题的已删除答案提出了相同的建议。不幸的是,这不是 OP 想要的。他们想在触发时直接调用app.get('/cron/job')
【解决方案2】:

我通过以下方式解决了它: 1)利用请求模块调用具有路径的确切api,即,

    request({
     headers: "your header",
     url : "/path/cronjob",
     method :'POST',
     body: data,
     json: true
   }, function(err, res, body){}

而不是使用 lambda.invoke()

2) 并添加 'POST' 之类的 api 网关方法,并将 lambda 函数映射到要使用路径调用的函数:/path/cronjob

【讨论】:

    【解决方案3】:

    要每 20 或 24 小时触发一次 Lambda 函数,我们可以在 CloudWatch Events 中安排一个触发器。

    CloudWatch Events 允许使用计划表达式触发目标。 Schedule Expression 可以定义一个速率;例如,每 24 小时。或者可以接受标准的 cron 作业表达式。

    CloudWatch Events 支持许多目标,包括 Lambda。

    此外,这个 stackoverflow 链接 AWS Lambda Scheduled Tasks 上有一些很好的答案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-13
      • 2011-08-28
      • 2013-10-03
      • 1970-01-01
      • 2014-01-24
      • 2018-08-09
      • 2021-01-09
      • 2014-02-14
      相关资源
      最近更新 更多