You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note this issue looks like it was explored in #1941 but this does not appear to be fixed.
Actual Behaviour
The function handler is called, but throws an exception:
An error occurred during JSON parsing: java.lang.RuntimeException java.lang.RuntimeException: An error occurred during JSON parsing Caused by: io.micronaut.core.beans.exceptions.IntrospectionException: No deserializable introspection present for type: ResponseElementsEntity responseElements. Consider adding Serdeable.Deserializable annotate to type ResponseElementsEntity responseElements. Alternatively if you are not in control of the project's source code, you can use @SerdeImport(ResponseElementsEntity.class) to enable deserialization of this type. at io.micronaut.serde.support.DefaultSerdeIntrospections.resolveIntrospectionForDeserialization(DefaultSerdeIntrospections.java:196) at io.micronaut.serde.support.DefaultSerdeIntrospections.getDeserializableIntrospection(DefaultSerdeIntrospections.java:160) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createDeserBean(ObjectDeserializer.java:133) at io.micronaut.serde.support.deserializers.ObjectDeserializer.lambda$getDeserializableBean$1(ObjectDeserializer.java:123) at io.micronaut.core.util.SupplierUtil$2.get(SupplierUtil.java:79) at io.micronaut.serde.support.deserializers.ObjectDeserializer.getDeserializableBean(ObjectDeserializer.java:124) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createSpecific(ObjectDeserializer.java:69) at io.micronaut.serde.support.deserializers.DeserBean.findDeserializer(DeserBean.java:592) at io.micronaut.serde.support.deserializers.DeserBean.initProperty(DeserBean.java:476) at io.micronaut.serde.support.deserializers.DeserBean.initializeInternal(DeserBean.java:432) at io.micronaut.serde.support.deserializers.DeserBean.initialize(DeserBean.java:412) at io.micronaut.serde.support.deserializers.ObjectDeserializer.getDeserializableBean(ObjectDeserializer.java:125) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createSpecific(ObjectDeserializer.java:69) at io.micronaut.serde.support.deserializers.collect.CoreCollectionsDeserializers$SpecificOnlyCollectionDeserializer.createSpecific(CoreCollectionsDeserializers.java:334) at io.micronaut.serde.support.deserializers.DeserBean.findDeserializer(DeserBean.java:592) at io.micronaut.serde.support.deserializers.DeserBean.initProperty(DeserBean.java:476) at io.micronaut.serde.support.deserializers.DeserBean.initializeInternal(DeserBean.java:432) at io.micronaut.serde.support.deserializers.DeserBean.initialize(DeserBean.java:412) at io.micronaut.serde.support.deserializers.ObjectDeserializer.getDeserializableBean(ObjectDeserializer.java:125) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createSpecific(ObjectDeserializer.java:69) at io.micronaut.serde.jackson.JacksonJsonMapper.readValue0(JacksonJsonMapper.java:175) at io.micronaut.serde.jackson.JacksonJsonMapper.readValue(JacksonJsonMapper.java:169) at io.micronaut.serde.jackson.JacksonJsonMapper.readValue(JacksonJsonMapper.java:206) at io.micronaut.function.aws.JsonMapperCustomPojoSerializer.fromJson(JsonMapperCustomPojoSerializer.java:70)
Steps To Reproduce
Using mn 4.2.4 (as per the tutorial) or 4.3.0 installed using sdk.
Follow the tutorial linked above (you don't need to actually implement the thumbnail generator, just implement a trivial handler such as:
@Serdeable
public class FunctionRequestHandler extends MicronautRequestHandler<S3EventNotification, Void> {
private static final Logger LOG = LoggerFactory.getLogger(FunctionRequestHandler.class);
@Inject
JsonMapper objectMapper;
@Inject
public S3Client s3;
@Override
public Void execute(S3EventNotification input) {
for (S3EventNotification.S3EventNotificationRecord record : input.getRecords()) {
LOG.info("event name: {}", record.getEventName());
}
return null;
}
}
Copy a file into the S3 bucket you have set up with the lambda event handler
Look at the Cloudwatch logs
Environment Information
MacOS 14.3
java 17.0.8 2023-07-18 LTS
mn 4.2.4 or 4.3.0
Example Application
No response
Version
4.2.4 or 4.3.0
The text was updated successfully, but these errors were encountered:
Add a CustomPojoSerializer implementation which includes the package io.micronaut.aws.lambda.events.serde. This package contains `@SerdeImport` for the AWS Lambda Events classes.
Close: #2048
Add a CustomPojoSerializer implementation which includes the package io.micronaut.aws.lambda.events.serde. This package contains `@SerdeImport` for the AWS Lambda Events classes.
Close: #2048
Expected Behavior
The tutorial here: https://guides.micronaut.io/latest/micronaut-aws-lambda-s3-event-maven-java.html
...should be able to be followed and run without error.
Note this issue looks like it was explored in #1941 but this does not appear to be fixed.
Actual Behaviour
The function handler is called, but throws an exception:
An error occurred during JSON parsing: java.lang.RuntimeException java.lang.RuntimeException: An error occurred during JSON parsing Caused by: io.micronaut.core.beans.exceptions.IntrospectionException: No deserializable introspection present for type: ResponseElementsEntity responseElements. Consider adding Serdeable.Deserializable annotate to type ResponseElementsEntity responseElements. Alternatively if you are not in control of the project's source code, you can use @SerdeImport(ResponseElementsEntity.class) to enable deserialization of this type. at io.micronaut.serde.support.DefaultSerdeIntrospections.resolveIntrospectionForDeserialization(DefaultSerdeIntrospections.java:196) at io.micronaut.serde.support.DefaultSerdeIntrospections.getDeserializableIntrospection(DefaultSerdeIntrospections.java:160) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createDeserBean(ObjectDeserializer.java:133) at io.micronaut.serde.support.deserializers.ObjectDeserializer.lambda$getDeserializableBean$1(ObjectDeserializer.java:123) at io.micronaut.core.util.SupplierUtil$2.get(SupplierUtil.java:79) at io.micronaut.serde.support.deserializers.ObjectDeserializer.getDeserializableBean(ObjectDeserializer.java:124) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createSpecific(ObjectDeserializer.java:69) at io.micronaut.serde.support.deserializers.DeserBean.findDeserializer(DeserBean.java:592) at io.micronaut.serde.support.deserializers.DeserBean.initProperty(DeserBean.java:476) at io.micronaut.serde.support.deserializers.DeserBean.initializeInternal(DeserBean.java:432) at io.micronaut.serde.support.deserializers.DeserBean.initialize(DeserBean.java:412) at io.micronaut.serde.support.deserializers.ObjectDeserializer.getDeserializableBean(ObjectDeserializer.java:125) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createSpecific(ObjectDeserializer.java:69) at io.micronaut.serde.support.deserializers.collect.CoreCollectionsDeserializers$SpecificOnlyCollectionDeserializer.createSpecific(CoreCollectionsDeserializers.java:334) at io.micronaut.serde.support.deserializers.DeserBean.findDeserializer(DeserBean.java:592) at io.micronaut.serde.support.deserializers.DeserBean.initProperty(DeserBean.java:476) at io.micronaut.serde.support.deserializers.DeserBean.initializeInternal(DeserBean.java:432) at io.micronaut.serde.support.deserializers.DeserBean.initialize(DeserBean.java:412) at io.micronaut.serde.support.deserializers.ObjectDeserializer.getDeserializableBean(ObjectDeserializer.java:125) at io.micronaut.serde.support.deserializers.ObjectDeserializer.createSpecific(ObjectDeserializer.java:69) at io.micronaut.serde.jackson.JacksonJsonMapper.readValue0(JacksonJsonMapper.java:175) at io.micronaut.serde.jackson.JacksonJsonMapper.readValue(JacksonJsonMapper.java:169) at io.micronaut.serde.jackson.JacksonJsonMapper.readValue(JacksonJsonMapper.java:206) at io.micronaut.function.aws.JsonMapperCustomPojoSerializer.fromJson(JsonMapperCustomPojoSerializer.java:70)
Steps To Reproduce
Using mn 4.2.4 (as per the tutorial) or 4.3.0 installed using sdk.
Environment Information
MacOS 14.3
java 17.0.8 2023-07-18 LTS
mn 4.2.4 or 4.3.0
Example Application
No response
Version
4.2.4 or 4.3.0
The text was updated successfully, but these errors were encountered: