[][src]Crate s3_algo

S3 high-performance algorithms

High-performance algorithms for batch operations in Amazon S3.

https://docs.aws.amazon.com/AmazonS3/latest/dev/optimizing-performance-guidelines.html

Re-exports

pub use err::Error;

Modules

err
timeout

The Timeout trait defines the how the timeout value of a multi-file upload evolves based on past file upload results. A default implementation TimeoutState is provided.

Structs

ListObjects

A stream that can list objects, and (using member functions) delete or copy listed files.

RequestReport

Result of a single S3 request.

UploadConfig

Enums

ObjectSource

Functions

files_recursive

Convenience function (using walkdir) to traverse all files in directory src_dir. Returns an iterator that can be used as input to s3_upload_files, which uploads files with a key equal to the file's path with src_dir stripped away, and with key_prefix prepended.

s3_list_prefix

List all objects with a certain prefix

s3_list_objects

List all objects given a request factory. Paging is taken care of, so you need not fill in continuation_token in the ListObjectsV2Request.

s3_upload_files

Upload multiple files to S3.

s3_single_request

Issue a single S3 request, with retries and appropriate timeouts using sane defaults. Basically an easier, less general version of s3_request. size should be given if the operation is on a file with a certain size. This is necessary in order to set a suitable timeout to the request. For example, copy or put operations are linear in the size of the files operated on.

testing_s3_client

S3 client for testing - assumes local minio on port 9000 and an existing credentials profile called testing

Type Definitions

ListObjectsV2Result