aws / aws/aws-lambda-java-libs
Scheduled Event (V2) contains non-object detail parameter (it is a string)
- Lingua principale
- Java
- Stelle
- 548
- Fork
- 241
- Merge medio
- 2g 5m
- PR unite (30g)
- 11
Descrizione
When I'm using ScheduledEvent as a source event in the lambda handler where actually Amazon EventBridge Scheduler's Schedule is a trigger for the function, I'm getting
```
An error occurred during JSON parsing: java.lang.RuntimeException
java.lang.RuntimeException: An error occurred during JSON parsing
Caused by: java.io.UncheckedIOException: com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `java.util.LinkedHashMap` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('
{}
')
at [Source: (ByteArrayInputStream); line: 1, column: 318] (through reference chain: com.amazonaws.services.lambda.runtime.events.ScheduledEvent["detail"])
at com.amazonaws.services.lambda.runtime.serialization.factories.JacksonFactory$InternalSerializer.fromJson(JacksonFactory.java:199)
Caused by: com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `java.util.LinkedHashMap` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('
{}
')
```
because "detail" parameter in that event is not an object - it is a string. Look at this sample below from Java logger:
```
Event: {
"version": "0",
"id": "4e6638b7-b892-4482-9762-8c58d4e71ebb",
"detail-type": "Scheduled Event",
"source": "aws.scheduler",
"account": "xxx",
"time": "2024-05-06T10:58:00Z",
"region": "eu-west-1",
"resources": [
"arn:aws:scheduler:eu-west-1:xxx:schedule/default/xxx"
],
"detail": "{}"
}
```
IMO AWS should fix this event source for sending object-compatible field or we should implement new class e.g. `ScheduledV2Event` with a `String` type, not a Map. It looks like the "old" Scheduled Event is not compatible with the new Scheduled V2 Event.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.