Skip to content

Handle 's3:TestEvent' events in S3EventNotification library #6482

@Gregsen

Description

@Gregsen

Describe the feature

The s3-event-notification library is currently used by us to parse s3 notification that come via SQS.
However, not only do we receive s3 events about new ojects in a bucket (etc.), but also s3 test events. Those notifications do not contain any records and the result of S3EventNotification.fromJson(myS3Notification) is therefore null (see here).

We handle this with a null check, but it would be great if there is a convenience method (boolean isTestEven()?).

Use Case

We monitor the errors around the event consumption. At the moment, we check

s3EventNotification.getRecords() == null || s3EventNotification.getRecords().isEmpty()){
  LOG.error("SQS message did not contain any S3 notifications: {}", sqsMessage.getText());
  throw new CustomException("no messages!");
}

If we had a convenience method isTestEven() (or similar), we could filter them out and reduce noise on our monitoring.

Proposed Solution

No response

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

AWS Java SDK version used

2.31.25

JDK version used

OpenJDK Runtime Environment Temurin-11.0.17+8 (build 11.0.17+8)

Operating System and version

Ubuntu 22.04.5 LTS

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.needs-triageThis issue or PR still needs to be triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions