处理 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。
检查是对函数结束时返回的数组进行的。
如果您删除流程中的任何元素,您必须分配状态为已删除。
添加回答
举报
0/150
提交
取消