使用java的AWS Kinesis Lambda转换-未返回一个或多个记录ID
将AWS kinesis-Lambda函数处理到S3时出现以下错误使用java的AWS Kinesis Lambda转换-未返回一个或多个记录ID,java,amazon-web-services,amazon-s3,aws-lambda,amazon-kinesis-firehose,Java,Amazon Web Services,Amazon S3,Aws Lambda,Amazon Kinesis Firehose,将AWS kinesis-Lambda函数处理到S3时出现以下错误 One or more record Ids were not returned. Ensure that the Lambda function returns all received record Ids. 下面是我的代码片段 { List<KinesisFirehoseOutputRecord> results = event.getRecords().stream()
One 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.setResultOk;,它工作得和预期的一样好。知道如何解决这个问题吗?消防软管在功能执行后进行检查。。。处理的recordID数量等于发送给函数的recordID 检查是对函数末尾返回的数组执行的 如果您在流程中删除了任何元素,则必须为您分配已删除状态
找到了结果。。谢谢