我有一个使用场景,需要从s3中读取文件,并在Java中发布到REST服务。
为了实现这个目标,我正在尝试awssdk s3 API来读取文件,它将返回Flux<ByteBuffer>
。然后,我会使用Spring的WebClient
发布到REST服务。
经过我的探索,Spring的WebClient
需要BodyInserter,可以使用BodyInserters.fromDataBuffers
来准备。但我无法弄清楚如何正确地将Flux转换为Flux并调用WebClient exchange方法。
Flux<ByteBuffer> byteBufferFlux = getS3File(key);
Flux<DataBuffer> dataBufferFlux= byteBufferFlux.map(byteBuffer -> {
?????????????Convert bytebuffer to data buffer ??????
return dataBuffer;
});
BodyInserter<Flux<DataBuffer>, ReactiveHttpOutputMessage> inserter = BodyInserters.fromDataBuffers(dataBufferFlux);
有建议可以实现这个吗?