Crate stream_download_opendal

Crate stream_download_opendal 

Source
Expand description

§stream-download-opendal

crates.io docs.rs license CI codecov GitHub repo size Lines of Code

stream-download-opendal provides integration between stream-download and opendal.

OpenDAL is a data access layer that supports data retrieval from a variety of storage services. The list of supported services is documented here.

§Example using S3

 use std::error::Error;

 use opendal::{Operator, services};
 use stream_download::storage::temp::TempStorageProvider;
 use stream_download::{Settings, StreamDownload};
 use stream_download_opendal::{OpendalStream, OpendalStreamParams};

 #[tokio::main]
 async fn main() -> Result<(), Box<dyn Error>> {
     let mut builder = services::S3::default()
         .region("us-east-1")
         .access_key_id("test")
         .secret_access_key("test")
         .bucket("my-bucket");

     let operator = Operator::new(builder)?.finish();
     let stream = OpendalStream::new(OpendalStreamParams::new(operator, "some-object-key")).await?;

     Ok(())
 }

Structs§

Error
Error returned from OpenDAL
OpendalStream
An OpenDAL implementation of the SourceStream trait
OpendalStreamParams
Parameters for creating an OpenDAL stream.

Traits§

StreamDownloadExt
Extension trait for adding OpenDAL support to a StreamDownload instance.