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

使用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()

将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()
                .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

检查是对函数末尾返回的数组执行的

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


找到了结果。。谢谢