This is a fork of aalekhpatel07/rust-s3-async, which is a fork of durch/rust-s3.
It's used in our internal and upcoming projects, and is not intended to be used by anyone else.
Rust library for working with Amazon S3 or arbitrary S3 compatible APIs, fully compatible with async/await
. Uses tokio
under the hood.
Read and run examples from the examples
folder, make sure you have valid credentials for the variant you're running.
# tokio, default
cargo run --example tokio
# minio
# First, start Minio on port 9000.
AWS_ACCESS_KEY_ID="minioadmin" \
AWS_SECRET_ACCESS_KEY="minioadmin" \
cargo run --example minio
# r2
cargo run --example r2
# google cloud
cargo run --example google-cloud
There are a lot of various features that enable a wide variety of use cases, refer to s3/Cargo.toml
for an exhaustive list.
default
-tokio
runtime and anative-tls
implementationno-verify-ssl
- disable SSL verification for endpoints, useful for custom regions
Bucket
struct provides constructors for path-style
paths, subdomain
style is the default. Bucket
exposes methods for configuring and accessing path-style
configuration.
create
delete
list
exists
location
head_object
get_object
get_object_stream
get_object_to_writer
put_object
put_object_with_content_type
put_object_stream
put_object_tagging
delete_object
object_exists
presign_post
presign_put
presign_get
presign_delete