【发布时间】:2019-07-23 10:40:36
【问题描述】:
我们正在尝试在 AWS 上创建一个 lambda,它计划在每周一上午 9:45 运行。
我们的 cron 表达式是这样的:
cron(45 9 ? * MON *)
AWS 文档明确指出,crons 有六个必填字段(您可以忽略秒数)- 请参阅此处的文档:https://docs.aws.amazon.com/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html
但是,部署 lambda 会导致错误:
An error occurred: ConsumerEventsRuleSchedule13 - Parameter ScheduleExpression is not valid.
(Service: AmazonCloudWatchEvents; Status Code: 400; Error Code: ValidationException)
我已经设法通过在表达式中添加秒来修复它:
cron(0 45 9 ? * MON *)
但是,我仍然很困惑为什么原来的表达是无效的?
AWS 文档(上面链接)甚至为每个工作日(周一至周五)运行的任务提供了一个工作表达式:
cron(0 18 ? * MON-FRI *)
这看起来就像我们最初尝试使用的一样,减去工作日范围(因为我们想要一个特定的工作日)。
有什么线索吗?
【问题讨论】:
-
这很奇怪。你的cron看起来不错。我什至通过创建 CloudWatch 规则测试了原始规则,它运行良好。也许这是一个错误。我会与 AWS 取得联系,看看他们是否对此有所了解。
-
你是如何创建这个的?使用 aws-cli?
标签: amazon-web-services cron aws-lambda