aws / aws/aws-sdk-java-v2

Extend S3 SelectObjectContent support to the synchronous client

Open
#4,300 2 comments 2 reactions 0 assignees View on GitHub
feature-request p3
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

### Describe the feature

While #2943 added support for [S3's `SelectObjectContent`][s3], it seems that it only added it to the asynchronous S3 client. In other words, [`S3AsyncClient.selectObjectContent` exists][as] but [the `S3Client` counterpart][sy] does not define such method.

This is a request to bring the synchronous client on par with the asynchronous one.

[s3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html
[sy]: https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3Client.html
[as]: https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html#selectObjectContent(java.util.function.Consumer,software.amazon.awssdk.services.s3.model.SelectObjectContentResponseHandler)

### Use Case

I was under the impression that version 2 of the Java AWS SDK introduced the asynchronous client as an **alternative** way to interact with AWS services. Therefore, the feature parity between the synchronous and asynchronous versions would be expected.

And while asynchronous clients can be handy and efficient, they bring some additional complexity to the code using them. Therefore, there are still legitimate use cases to rely on the synchronous clients.

### 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.0

### JDK version used

Corretto-8.372.07.1 (build 1.8.0_372-b07)

### Operating System and version

Amazon Linux 2 (`uname -r`: `5.4.249-170.359.amzn2int.x86_64`)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.