Для моего объяснения, создал поток пожарных шлангов AWS и настроил функцию лямбда и переместить данные на S3. Firehose к S3 работает нормально без каких-либо проблем. Если я включаю функцию lamda, получая ошибку ниже в S3 bucket bucket.
{"attemptsMade":4,"arrivalTimestamp":1570727830210,"errorCode":"Lambda.FunctionError","errorMessage":"The Lambda function was successfully invoked but it returned an error result."
лямбда-код Java:
public class LambdaFunctionHandler implements RequestHandler<KinesisEvent, String> {
@Override
public String handleRequest(KinesisEvent event, Context context) {
context.getLogger().log("Input: " + event);
StringBuffer sb = new StringBuffer();
for (KinesisEventRecord record : event.getRecords()) {
String payload = new String(record.getKinesis().getData().array());
if (payload.toLowerCase().contains("scala"))
sb.append(payload);
sb.append("\n");
}
return sb.toString();
}
}
В основном, фильтруйте входящие потоковые данные и нажимайте на S3. Также у меня есть несколько вопросов. 1Я передаю данные перфорации JSON в пожарный шланг. Метод "record.getKinesis (). getData ()" будет читать запись построчно и связываться со всей строкой json. 2. письменный журнал регистрации. где проверить мой журнал. Как я могу справиться с этим сценарием? пожалуйста посоветуйте