【发布时间】:2021-05-13 05:12:12
【问题描述】:
我正在使用无服务器框架和 AWS Node.js 开发工具包将基于计划 cron 表达式的规则添加到默认事件总线。
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) {...
在事件桥上动态创建的计划 cron 规则上添加目标是成功的,但是当我导航到 lambda 仪表板时,触发层似乎没有更新,最终 lambda 函数没有被触发。
事件桥 putTargets 的 AWS 开发工具包文档提到:
For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies
因此,如果资源策略是问题(未确认),是否有任何关于资源策略的配置,我可以在 serverless.yml 文件中为允许事件桥服务添加层到部署的目标 lambda 函数的特定功能设置。
【问题讨论】:
标签: node.js amazon-web-services aws-lambda serverless-framework serverless