Expand description
§MinIO Rust SDK (minio-rs)
This crate provides a strongly-typed, async-first interface to the MinIO and Amazon S3-compatible object storage APIs.
Each supported S3 operation has a corresponding request builder (e.g., s3::builders::BucketExists, s3::builders::PutObject, s3::builders::UploadPartCopy),
which allows users to configure request parameters using a fluent builder pattern.
All request builders implement the s3::types::S3Api trait, which provides the async send method
to execute the request and return a typed response.
§Basic Usage
use minio::s3::Client;
use minio::s3::types::S3Api;
use minio::s3::response::BucketExistsResponse;
#[tokio::main]
async fn main() {
let client: Client = Default::default(); // configure your client
let exists: BucketExistsResponse = client
.bucket_exists("my-bucket")
.send()
.await
.expect("request failed");
println!("Bucket exists: {}", exists.exists);
}§Features
- Request builder pattern for ergonomic API usage
- Full async/await support via
tokio - Strongly-typed responses
- Transparent error handling via
Result<T, Error>
§Design
- Each API method on the
s3::client::Clientreturns a builder struct - Builders implement
s3::types::ToS3Requestfor request conversion ands3::types::S3Apifor execution - Responses implement
s3::types::FromS3Responsefor consistent deserialization
Modules§
- s3
- Implementation of Simple Storage Service (aka S3) client