AWS Lambda:按布尔属性过滤Kinesis数据流记录
Kinesis数据流布尔属性过滤失效的解决思路
首先看核心问题:你的过滤规则层级和实际数据流不匹配——规则里用了data包裹字段,但实际数据流记录是直接顶级的int_attribute和boolean_attribute,这会导致规则根本匹配不到目标字段。
接下来是具体修复步骤:
- 修正结构匹配:把Pattern里的
"data": {...}层级去掉,直接写顶级字段的匹配规则。修正后的过滤规则如下:[ { "Pattern": "{ \"int_attribute\": [ 1 ], \"boolean_attribute\": [ true ] }" } ] - 确认布尔值类型:确保数据流里的
boolean_attribute确实是布尔类型(true/false),而非字符串类型("true"/"false")。如果是字符串,规则里要改成[ "true" ]才能匹配。 - 检查转义格式:确保Pattern里的JSON转义正确,引号没有语法错误。可以把Pattern内容单独拿出来验证是否为合法JSON结构。
额外排查点:
- 用Kinesis控制台的「测试过滤规则」功能,导入你的示例记录,验证规则是否能匹配成功。
- 确认Lambda触发配置里的过滤规则已正确保存并生效,无配置错误。
内容的提问来源于stack exchange,提问作者Don
相关产品推荐
相关产品推荐

