我一直在尝试在无服务器中部署一个 Lambda,以按每小时调用它的 Cron 计划运行。当它被调用时,我希望 Lambda 中的事件由我自己的 JSON 输入而不是来自 Cron 事件的信息填充,这是部署时的默认输入。
在 AWS 控制台中,我可以手动进入 Lambda 的 Cron 触发器,并将输入从“匹配事件”更改为“常量(JSON 文本)”,以获得我想要的结果。由于 Serverless 在部署 Lambda 时会创建此规则,我觉得应该有某种方法可以通过 serverless.yml 文件中的配置更改输入。在搜索无服务器的文档时,我找不到任何东西,所以现在我想知道在当前状态下通过无服务器是否可以做到这一点,如果可以,该怎么做。
任何意见,将不胜感激。
编辑:有一个更新应该添加了这个功能,但是我仍然无法使用无服务器 1.3.0 使用 JSON 的计划进行部署(并且还使用 1.2.0 进行了测试)。我使用的 serverless.yml 的一些示例如下:
functions:
test:
handler: test.test
description: "test serverless Lambda"
memorySize: 128
timeout: 300
events:
- schedule:
rate: rate(10 minutes)
input:
key: value
- schedule:
rate: rate(10 minutes)
input: '{"key": "value"}'
- schedule:
rate: rate(10 minutes)
input:
key: 'value'
从 1.3.0 开始,是否有人能够评论 Serverless 中此功能的状态,以及我上面的 serverless.yml 是否看起来不错?
编辑 2:发布工作 serverless.yml
functions:
test:
handler: test.test
description: "test serverless Lambda"
memorySize: 128
timeout: 300
events:
- schedule:
rate: rate(10 minutes)
enabled: true
input:
key: value
- schedule:
rate: rate(10 minutes)
input: '{"key": "value"}'
enabled: true
- schedule:
rate: rate(10 minutes)
input:
key: 'value'
enabled: true