如何在AWS CloudWatch Log中匹配多个模式触发Lambda函数
CloudWatch日志过滤器多完整短语OR匹配正确语法
正确的serverless.yml配置写法如下:
- cloudwatchLog: logGroup: '/aws/lambda/hello' filter: '"Process exited before completing request" || "Error Runtime exited with error signal killed"'
语法说明
- CloudWatch日志过滤器的OR运算符为
||,不支持直接使用英文单词OR - 完整短语匹配需要将整段匹配内容用英文双引号包裹,避免被拆分为多个独立关键词匹配
- 整个过滤规则使用单引号包裹作为YAML字符串值,避免内部双引号和YAML语法冲突
你之前尝试的写法问题分别为:
- 错误使用单词
OR作为运算符,且存在引号嵌套错误,拆分了第二个完整短语 - 数组格式的写法仅适用于空格分隔的结构化日志字段匹配,不支持纯文本的多短语OR匹配
你也可以先到对应CloudWatch日志组的订阅过滤器测试页面,先验证过滤规则可以命中目标日志后,再写入配置文件部署。
内容的提问来源于stack exchange,提问作者Bruno Carballo
相关产品推荐
相关产品推荐

