AWS MSK作为Firehose源时的数据转换问题求助
AWS Firehose 处理器配置问题解答
问题1:AppendDelimiterToRecord 处理器无效果且控制台无选项
- 该处理器仅支持Kinesis Data Streams作为Firehose数据源,你的数据源是AWS MSK,不在支持范围内,因此配置后不会生效。
- AWS控制台会自动隐藏当前数据源不支持的处理器选项,这是正常逻辑,并非AWS异常。即使通过Terraform(API)强制配置,由于数据源不兼容,处理器也无法工作。
问题2:Lambda处理器返回格式错误(Lambda.InvalidReturnFormat)
- 即使Lambda日志显示data字段已填充,仍需严格遵守Firehose对Lambda返回结果的格式要求:
- 返回的JSON结构必须包含
records数组,每个元素必须保留输入的recordId,result字段必须为"Ok"(注意大小写),data字段必须是Base64编码的字符串(不能直接返回原始文本或未编码的JSON)。 - 检查是否存在隐性格式问题:比如返回的data为空字符串、编码错误,或者JSON结构有语法错误(如多余逗号、引号不匹配)。
- 确认Lambda执行角色拥有
firehose:PutRecordBatch权限,不过该错误主要由返回格式导致,权限问题通常会报其他错误。
- 返回的JSON结构必须包含
内容的提问来源于stack exchange,提问作者Kojimba
相关产品推荐
相关产品推荐

