Skip to content

CloudWatchEvents.ScheduledEvent cannot be used with EventBridge Scheduler #1864

Open
@Dreamescaper

Description

@Dreamescaper

Describe the bug

Attempting to use ScheduledEvent with EventBridge Scheduler fails due to JSON Serialization.

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

I am able to use ScheduledEvent with EventBridge Scheduler.

Current Behavior

Error converting the Lambda event JSON payload to type Amazon.Lambda.CloudWatchEvents.ScheduledEvents.ScheduledEvent: The JSON value could not be converted to Amazon.Lambda.CloudWatchEvents.ScheduledEvents.Detail. Path: $.detail | LineNumber: 0 | BytePositionInLine: 339.

Additional Information/Context

Here's the event I'm receiving:

{
    "version": "0",
    "id": "49672d39-8c3a-4cc6-8de5-c57b0acf718f",
    "detail-type": "Scheduled Event",
    "source": "aws.scheduler",
    "account": "12345",
    "time": "2024-11-07T22:05:00Z",
    "region": "eu-central-1",
    "resources": [
        "arn:aws:scheduler:eu-central-1:12345:schedule/default/test-schedule"
    ],
    "detail": "{}"
}

It is very-very similar to what we have in ScheduledEvent. However, "detail" here is a string, not a json object.

According to
https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events-structure.html
"detail" should be a JSON object, but "{}". I have no idea why such string is allowed, or whether any other stringified JSON is possible there.

Possible Solution

Write JSON converter, which allows Detail to be string (either allow empty object string only "{}", or a full stringified JSON object - not sure).

AWS .NET SDK and/or Package version used

Amazon.Lambda.CloudWatchEvents 4.4.0

Targeted .NET Platform

.NET 8

Operating System and version

AmazonLinux

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.module/lambda-client-libp2This is a standard priority issueservice-apiThis issue is due to a problem in a service API, not the SDK implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions