我在下面的代码块中加入了 serverless.yml
文件来安排一个CRON。
testCron1:
handler: handler.testCron1
events:
- schedule: cron(15 14 22 MAY FRI 2020)
然后我创建一个 testCron1
兰姆达函数 handle.js
文件。
const testCron1 = (event, context) => {
return new Promise(async (resolve, reject) => {
console.log("*********** NEW est CRON ************");
console.log("Current Time ==> ", new Date(moment().utc().format()));
resolve(true);
});
}
当我尝试使用命令 serverless deploy
它给了我下面的错误。
An error occurred: TestCron1EventsRuleSchedule1 - Parameter ScheduleExpression is not valid. (Service: AmazonCloudWatchEvents; Status Code: 400; Error Code:ValidationException; Request ID: c5b3178b-348a-4ffd-a205-d5255dcca2ab)
如果你使用lambda使用云观察作为cron触发器。
在特定的时间用云表处理lambda函数的触发会很容易。
你可以在这里找到触发规则表达式。https:/docs.aws.amazon.comAmazonCloudWatchlatesteventsScheduledEvents.html。
支持的值列表你可以在这里查看。https:/docs.aws.amazon.comsystems-managerlatestuserguidereference-cron-and-rat-expressions.html。
Example cron : 0 11 17 4 ? 2020 min hours day month dayOfWeek year
This will execute once on FRI, 17 APR 2020 11:00:00 GMT as an example.