處理 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
提交
取消