Crate condow_rusoto

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§

condow_client
Adapter for crate::Condow to access BLOBs to be downloaded
config
Configuration items
errors
Error types returned by Condow
probe
Probes & Instrumentation
reader
Implementations of async readers for downloads
streams
Stream implememtations used by Condow

Structs§

Bucket
S3 bucket name
Condow
The CONcurrent DOWnloader
InclusiveRange
An inclusive range which can not have a length of 0.
ObjectKey
S3 object key
OffsetRange
A range defined by an offset and a length.
Request
A request for a download from a specific location
RequestNoLocation
A request for a download where the location is not yet known
S3Client
A client for the Amazon S3 API.
S3ClientWrapper
Just a wrapper around a client to implement the trait CondowClient on.
S3Location
Full “path” to an S3 object

Enums§

ClosedRange
A closed range
DownloadRange
A range which specifies a download
OpenRange
An open range
Region
An AWS region.

Traits§

Downloads
A common interface for downloading
DownloadsUntyped
Downloads from a location specified by a &str.