aws-sdk-java-v2 icon indicating copy to clipboard operation
aws-sdk-java-v2 copied to clipboard

Handle 's3:TestEvent' events in S3EventNotification library

Open Gregsen opened this issue 3 months ago • 0 comments

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

  • [x] 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

Gregsen avatar Oct 16 '25 13:10 Gregsen