为了账号安全,请及时绑定邮箱和手机立即绑定

使用 java 的 AWS Kinesis Lambda 转换 - 未返回一个或多个记录 ID

使用 java 的 AWS Kinesis Lambda 转换 - 未返回一个或多个记录 ID

芜湖不芜 2023-10-13 09:50:12
处理 AWS kinesis 时出现以下错误 - Lambda 函数到 S3One or more record Ids were not returned. Ensure that the Lambda function returns all received record Ids.以下是我的代码片段。{        List<KinesisFirehoseOutputRecord> results = event.getRecords().stream()                .map(record -> {                    KinesisFirehoseOutputRecord outRec = new KinesisFirehoseOutputRecord();                    outRec.setRecordId(record.getRecordId());                    outRec.setData(record.getData());                    if (record.getData().toLowerCase().contains("moldovan")) {                        outRec.setResult("Ok");                    } else {                        outRec.setResult("Dropped");                    }                    return outRec;                }).collect(Collectors.toList());        return new KinesisFirehoseResponse(results);        }如果我删除 if else 条件并添加 outRec.setResult("Ok");,它按预期工作正常。知道如何解决这个问题吗?
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

Firehose 在函数执行后进行检查...处理的 recordID 数量等于发送到函数的 recordID。

检查是对函数结束时返回的数组进行的。

如果您删除流程中的任何元素,您必须分配状态为已删除。

查看完整回答
反对 回复 2023-10-13
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信