История изменений
Исправление Pacmu3ka, (текущая версия) :
Судя по документации, Field
реализует трейт Stream
. В крейте futures
есть адаптер, который умеет из Stream
делать AsyncRead
. Правда, у tokio
пока ещё свой собственный трейт AsyncRead
, но для этого в крейте async-compat
есть адаптер, который умеет из futures::io::AsyncRead
делать tokio::io::AsyncRead
.
По идее, как-то так должно работать:
use futures::stream::TryStreamExt;
use async_compat::Compat;
let mut reader = field.into_async_read().compat_mut();
put_object_stream(&mut reader, s3_path).await?;
Исходная версия Pacmu3ka, :
Судя по документации, Field
реализует трейт Stream
. В крейте futures
есть адаптер, который умеет из Stream
делать AsyncRead
. Правда, у tokio
пока ещё свой собственный трейт AsyncRead
, но для этого в крейте async-compat
есть адаптер, который умеет из futures::io::AsyncRead
делать tokio::io::AsyncRead
.
По идее, как-то так должно работать:
use futures::stream::TryStreamExt;
use async_compat::Compat;
let mut reader = field.into_async_read().compat();
put_object_stream(&mut reader, s3_path).await?;