我正在使用 Serverless 框架和 AWS Node.js SDK 来向默认事件总线添加基于计划的 Cron 表达式规则。
在事件桥上动态创建的计划任务规则上添加目标成功,但当我导航到Lambda仪表板时,似乎触发层没有更新,最终Lambda函数未被触发。
AWS SDK文档中提到了事件桥的putTargets:
eventBridge.putRule(params, function (err, data) {...
然后我将目标添加到这个规则中。
const params = {
Rule: data.ruleName,
Targets: [
{
Arn: process.env.SCHEDULED_EVENT_LAMBDA_ARN, /* required */
Id: process.env.SCHEDULED_EVENT_LAMBDA_ID, /* required */
Input: JSON.stringify(someData)
},
],
};
eventBridge.putTargets(params, function (err, data) {...
在事件桥上动态创建的计划任务规则上添加目标成功,但当我导航到Lambda仪表板时,似乎触发层没有更新,最终Lambda函数未被触发。
AWS SDK文档中提到了事件桥的putTargets:
对于AWS Lambda和Amazon SNS资源,EventBridge依赖于基于资源的策略
如果资源策略有问题(尚未确认),是否有任何配置可以在 serverless.yml 文件中设置,以允许事件桥服务将层添加到已部署的具有特定函数的目标Lambda函数。