Crate condow_rusoto
source · [−]Expand description
CONcurrent DOWnloads from AWS S3
Download speed from S3 can be significantly improved by downloading parts of the file concurrently. This crate does exactly that.
Unlike e.g. the AWS Java SDK this library does not download the parts as uploaded but ranges.
use condow_rusoto::*;
use condow_rusoto::config::Config;
let client = S3ClientWrapper::new(Region::default());
let condow = client.condow(Config::default()).unwrap();
let s3_obj = Bucket::new("my_bucket").object("my_object");
let stream = condow.blob().at(s3_obj).range(23..46).download().await.unwrap();
let downloaded_bytes: Vec<u8> = stream.into_vec().await.unwrap();
Modules
Adapter for crate::Condow to access BLOBs to be downloaded
Configuration items
Error types returned by Condow
Probes & Instrumentation
Implementations of async readers for downloads
Stream implememtations used by Condow
Structs
S3 bucket name
The CONcurrent DOWnloader
An inclusive range which can not have a length of 0.
S3 object key
A range defined by an offset and a length.
A request for a download from a specific location
A request for a download where the location is not yet known
A client for the Amazon S3 API.
Just a wrapper around a client to implement the trait CondowClient on.
Full “path” to an S3 object
Enums
A closed range
A range which specifies a download
An open range
An AWS region.
Traits
A common interface for downloading
Downloads from a location specified by a &str.