Skip to main content

Crate s3z

Crate s3z 

Source
Expand description

§s3z

S3 ops, but fearlessly fast.

A lightweight, high-throughput S3 client built on raw HTTP + SigV4 signing. No AWS SDK — just reqwest, aws-sigv4, and tokio.

§Quick start

use s3z::{Config, S3Client, UploadRequest, auth::CredentialSource};

let client = S3Client::new(Config::new("us-east-1", CredentialSource::Env)).await?;

let result =
    client.upload(UploadRequest::new(vec!["./data".into()], "my-bucket", "uploads/")).await?;

for f in &result.files {
    println!("{} -> s3://{} ({} parts)", f.source.display(), f.key, f.parts);
}

Re-exports§

pub use config::Config;
pub use ops::download::DownloadRequest;
pub use ops::download::DownloadResult;
pub use ops::download::FileDownloadResult;
pub use ops::download::ParallelismConfig;
pub use ops::download::tune_parallelism;
pub use ops::list::ListPage;
pub use ops::list::ListPaginator;
pub use ops::list::ListRequest;
pub use ops::list::ObjectInfo;
pub use ops::upload::FileUploadResult;
pub use ops::upload::UploadRequest;
pub use ops::upload::UploadResult;

Modules§

auth
Credential resolution and request signing.
config
Configuration types for the S3 client.
error
Error types for s3z.
ops
Public operations.

Structs§

ObjectKey
A percent-encoded S3 object key.
S3Client
The s3z S3 client.