ReactiveStreams API Adapter for S3 ByteStream
See original GitHub issueDescribe the feature
Currently, the S3Client upload and get support ByteStream
, when using it in a Reactive application, it is not so easy to convert a reactive streams type to ByteStream.
Is your Feature Request related to a problem?
No
Proposed Solution
I would like use the ReactiveStreams compatible Publisher<ByteBuffer>
, esp, in Spring WebFlux/Reactor, use the specific Flux
and DataBuffer
aka Flux<DataBuffer>
, also consider RxJava3/SmallRye Munity
Describe alternative solutions or features you’ve considered
- The existing
ByteStream
to implementsPublisher
- Kotlin Couroutines, support
Flow
as data type.
Acknowledge
- I may be able to implement this feature request
AWS Kotlin SDK version used
0.15.2-beta
Platform (JVM/JS/Native)
JVM
Operating System and version
Windows 10
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:11 (3 by maintainers)
Top Results From Across the Web
AWS S3 with Java - Reactive Support - Baeldung
In this tutorial, we'll explore those new features by implementing a simple blob store REST API in Spring Boot that uses the well-known...
Read more >What can Reactive Streams offer EE4J? - Eclipse
Firstly, it facilitates integration of EE4J APIs with each other. Secondly, it facilitates integration of EE4J APIs with third party libraries. To connect...
Read more >aws/aws-sdk-java-v2 - Gitter
Hey... stupid question: in S3.deleteObjects, the request no longer has a "keys". How am I supposed to delete multiple objects?
Read more >AsyncRequestBody (AWS SDK for Java - 2.18.41)
This follows the reactive streams pattern where this interface is the Publisher of data (specifically ... Creates a AsyncRequestBody from a byte array....
Read more >Channel Adapter - Apache Camel
Use a Channel Adapter that can access the application's API or data and ... And the bean has method which accepts the message...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
It should be possible to adapt a
ByteStream
into aFlow
. For example:This code sample emits individually-allocated buffer chunks into a Flow in
produceFlow
. It then writes those chunks to aRandomAccessFile
inconsumeFlow
. Note that the consuming code needs to execute in the context of thegetObject
response lambda (otherwise, the stream will be freed and the bytes will no longer be available).Aws SDK for Java includes some async APIs(based on Java 8 CompletableFuture), I hope this Aws SDK for Kotlin will include built-in Kotlin Coroutines/Flow(or ReactiveStreams API) for the async support.