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::Client
returns a builder struct - Builders implement
s3::types::ToS3Request
for request conversion ands3::types::S3Api
for execution - Responses implement
s3::types::FromS3Response
for consistent deserialization
Modules§
- s3
- Implementation of Simple Storage Service (aka S3) client