Кто-нибудь успешно реализовал обработчик запросов на основе Java для событий S3?AWS Lambda S3Event deserialization
Мой класс:
package example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.s3.model.S3Event;
public class Hello implements RequestHandler<S3Event, String> {
public String handleRequest(S3Event event, Context context) {
return "Success";
}
}
Сообщение об ошибке:
Произошла ошибка во время синтаксического анализа JSON: java.lang.RuntimeException java.lang.RuntimeException: Произошла ошибка во время синтаксического анализа JSON Вызванный: Java .io.UncheckedIOException: com.fasterxml.jackson.databind.JsonMappingException: не удается десериализовать экземпляр com.amazonaws.services.s3.model.S3изменить из токена START_OBJECT в [Источник: [email protected]; строка: 1, столбец: 1] Вызвано: com.fasterxml.jackson.databind.JsonMappingException: невозможно десериализовать экземпляр com.amazonaws.services.s3.model.S3изменить токен START_OBJECT в [Источник: lambdainternal.util.NativeMemoryAsInputStream @ 6108b2d7; строка: 1, столбец: 1] в com.fasterxml.jackson.databind.JsonMappingException.from (JsonMappingException.java:148) в com.fasterxml.jackson.databind.DeserializationContext.mappingException (DeserializationContext.java:835) в com.fasterxml .jackson.databind.DeserializationContext.mappingException (DeserializationContext.java:831) в com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeOther (EnumDeserializer.java:137) в com.fasterxml.jackson.databind.deser.std .EnumDeserializer.deserialize (EnumDeserializer.java:89) в com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize (EnumDeserializer.java:18) в com.fasterxml.jackson.databind.ObjectReader._bindAndClose (ObjectReader.java : 1441) в com.fasterxml.jackson.databind.ObjectReader.readValue (ObjectReader.java:1047)
У вас есть функция Лямбда, настроенная для уведомления непосредственно из ведра S3? Если у вас SNS настроен «посередине», который может вызвать ошибку, которую вы видите, поскольку полезная нагрузка JSON не будет соответствовать. – JaredHatfield