Hat jemand erfolgreich einen Java-basierten Anforderungshandler für S3-Ereignisse implementiert?AWS Lambda S3Event-Deserialisierung
Meine Klasse:
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";
}
}
Fehlermeldung: java.lang.RuntimeException java.lang.RuntimeException:
Fehler beim Parsen von JSON ist ein Fehler aufgetreten während JSON Parsen aufgetreten Verursacht durch: java .io.UncheckedIOException: com.fasterxml.jackson.databind.JsonMappingException: Die Instanz von com.amazonaws.services.s3.model.S3Event kann nicht aus dem START_OBJECT-Token bei [Quelle: [email protected]; Zeile: 1, Spalte: 1] Verursacht von: com.fasterxml.jackson.databind.JsonMappingException: Die Instanz von com.amazonaws.services.s3.model.S3Event kann nicht aus dem START_OBJECT-Token bei [Quelle: lambdainternal.util.NativeMemoryAsInputStream @ 6108b2d7; Zeile: 1, Spalte: 1] unter com.fasterxml.jackson.databind.JsonMappingException.from (JsonMappingException.java:148) unter com.fasterxml.jackson.databind.DeserializationContext.mappingException (DeserializationContext.java:835) unter com.fasterxml .jackson.databind.DeserializationContext.mappingException (DeserializationContext.java:831) unter com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeOther (EnumDeserializer.java:137) unter com.fasterxml.jackson.databind.deser.std .EnumDeserializer.deserialize (EnumDeserializer.java:89) unter com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize (EnumDeserializer.java:18) unter com.fasterxml.jackson.databind.ObjectReader._bindAndClose (ObjectReader.java : 1441) bei com.fasterxml.jackson.databind.ObjectReader.readValue (ObjectReader.java:1047)
Haben Sie die Lambda-Funktion konfiguriert, um direkt vom S3-Bucket benachrichtigt zu werden? Wenn SNS "in der Mitte" konfiguriert ist, kann dies den angezeigten Fehler verursachen, da die JSON-Nutzdaten nicht übereinstimmen. – JaredHatfield