我们正在尝试在AWS上使用lambda,该lambda计划于每个星期一上午9:45运行。
我们的cron表达式为:
cron(45 9 ? * MON *)
AWS文档明确声明,您有六个必填字段(您可以忽略秒数)-在此处查看文档:{{3}}
但是,部署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 *)
看起来就像我们最初尝试使用的那样,减去了工作日范围(因为我们想要一个特定的工作日)。
有任何线索吗?
答案 0 :(得分:0)
在部署之前您是否尝试过sam package
?您可能使用了cron错误的旧代码...试试sam package --s3-bucket your-bucket-name --output-template-file packaged.yaml