Serverless Framework中subscriptionFilter配置无效问题求助
解决方案
1. 修复YAML语法错误
你的filterPattern结尾误用了反引号`,这会导致YAML解析失败,Serverless无法识别subscriptionFilter事件类型。把它换成单引号:
filterPattern: '{ $.message like /ERROR/ }'
2. 核对插件配置格式
该订阅过滤器插件的核心配置要求(原文档中文整理):
- 必须指定
logGroupName:要订阅的CloudWatch日志组完整路径 - 必须指定
filterPattern:符合CloudWatch日志过滤规则的表达式,用来匹配触发Lambda的日志内容 - 可选配置:
filterName(自定义过滤器名称,默认用函数名)、roleArn(订阅日志的IAM角色ARN,插件会自动生成默认角色)
修正后的完整函数配置:
functions: notifier: handler: app/functions/notifier/notifier.handler events: - subscriptionFilter: logGroupName: /aws/lambda/thincc-parser-${self:provider.region}-lambdaParser filterPattern: '{ $.message like /ERROR/ }'
3. 额外排查点
- 确认插件已安装:执行
npm install serverless-plugin-subscription-filter --save-dev - 检查Serverless版本与插件兼容性,尽量使用插件文档推荐的版本
- 确保部署AWS账号拥有创建CloudWatch订阅过滤器、IAM角色的权限
内容的提问来源于stack exchange,提问作者vikas_r_007
相关产品推荐
相关产品推荐

