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
- Inclusive
Range - An inclusive range which can not have a length of 0.
- Object
Key - S3 object key
- Offset
Range - A range defined by an offset and a length.
- Request
- A request for a download from a specific location
- Request
NoLocation - A request for a download where the location is not yet known
- S3Client
- A client for the Amazon S3 API.
- S3Client
Wrapper - Just a wrapper around a client to implement the trait CondowClient on.
- S3Location
- Full “path” to an S3 object
Enums§
- Closed
Range - A closed range
- Download
Range - A range which specifies a download
- Open
Range - An open range
- Region
- An AWS region.
Traits§
- Downloads
- A common interface for downloading
- Downloads
Untyped - Downloads from a location specified by a &str.