MinIO Rust SDK for Amazon S3 Compatible Cloud Storage
Rust
370
170 commits
updated Sep 30, 2026
The MinIO Rust SDK is a Simple Storage Service (aka S3) client for performing bucket and object operations to any Amazon S3 compatible object storage service. It 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 (for example: [BucketExists], [PutObject], [UploadPartCopy]), which allows users to configure request parameters using a fluent builder pattern.
All request builders implement the [S3Api] trait, which provides the async send method to execute the request and return a typed response.
use minio::s3::MinioClient;
use minio::s3::creds::StaticProvider;
use minio::s3::http::BaseUrl;
use minio::s3::types::S3Api;
use minio::s3::response::BucketExistsResponse;
#[tokio::main]
async fn main() {
let base_url = "http://localhost:9000".parse::<BaseUrl>().unwrap();
let static_provider = StaticProvider::new("minioadmin", "minioadmin", None);
let client = MinioClient::new(base_url, Some(static_provider), None, None).unwrap();
let exists: BucketExistsResponse = client
.bucket_exists("my-bucket")
.send()
.await
.expect("request failed");
println!("Bucket exists: {}", exists.exists);
}
tokio]Result<T, Error>MinioClient] returns a builder structToS3Request] for request conversion and [S3Api] for executionFromS3Response] for consistent deserializationYou can run the examples from the command line with:
cargo run --example <example_name>
The examples below cover several common operations.
You can find the complete list of examples in the examples directory.
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
615 followers · starred Aug 2025
45 followers · starred Sep 2025
671 followers · starred Mar 2025
66 followers · starred May 2023
MinIO Rust SDK for Amazon S3 Compatible Cloud Storage
Rust
370
170 commits
updated Sep 30, 2026
The MinIO Rust SDK is a Simple Storage Service (aka S3) client for performing bucket and object operations to any Amazon S3 compatible object storage service. It 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 (for example: [BucketExists], [PutObject], [UploadPartCopy]), which allows users to configure request parameters using a fluent builder pattern.
All request builders implement the [S3Api] trait, which provides the async send method to execute the request and return a typed response.
use minio::s3::MinioClient;
use minio::s3::creds::StaticProvider;
use minio::s3::http::BaseUrl;
use minio::s3::types::S3Api;
use minio::s3::response::BucketExistsResponse;
#[tokio::main]
async fn main() {
let base_url = "http://localhost:9000".parse::<BaseUrl>().unwrap();
let static_provider = StaticProvider::new("minioadmin", "minioadmin", None);
let client = MinioClient::new(base_url, Some(static_provider), None, None).unwrap();
let exists: BucketExistsResponse = client
.bucket_exists("my-bucket")
.send()
.await
.expect("request failed");
println!("Bucket exists: {}", exists.exists);
}
tokio]Result<T, Error>MinioClient] returns a builder structToS3Request] for request conversion and [S3Api] for executionFromS3Response] for consistent deserializationYou can run the examples from the command line with:
cargo run --example <example_name>
The examples below cover several common operations.
You can find the complete list of examples in the examples directory.
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
615 followers · starred Aug 2025
45 followers · starred Sep 2025
671 followers · starred Mar 2025
66 followers · starred May 2023