mirror of
https://github.com/minio/minio-rs.git
synced 2025-12-06 15:26:51 +08:00
Update the README with additional information (#159)
Clarify and add additional information about the Rust SDK, in preparation for automated inclusion in the public documentation. - Minor rework of existing text - Incorporate documentation from src/lib.rs in the readme --------- Co-authored-by: Andrea Longo <95028+feorlen@users.noreply.github.com>
This commit is contained in:
parent
621669cd7d
commit
24a1321673
50
README.md
50
README.md
@ -1,15 +1,58 @@
|
||||
# MinIO Rust SDK for Amazon S3 Compatible Cloud Storage [](https://slack.min.io) [](https://sourcegraph.com/github.com/minio/minio-rs?badge) [](https://github.com/minio/minio-rs/blob/master/LICENSE)
|
||||
|
||||
MinIO Rust SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.
|
||||
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`](crate::s3::types::S3Api::send) method to execute the request and return a typed response.
|
||||
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```no_run
|
||||
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 [`Client`] returns a builder struct
|
||||
- Builders implement [`ToS3Request`] for request conversion and [`S3Api`] for execution
|
||||
- Responses implement [`FromS3Response`] for consistent deserialization
|
||||
|
||||
For a complete list of APIs and examples, please take a look at the [MinIO Rust Client API Reference](https://minio-rs.min.io/)
|
||||
|
||||
## Examples
|
||||
|
||||
Run the examples from the command line with:
|
||||
You 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.
|
||||
|
||||
### file_uploader.rs
|
||||
|
||||
* [Upload a file to MinIO](examples/file_uploader.rs)
|
||||
@ -23,5 +66,6 @@ Run the examples from the command line with:
|
||||
|
||||
* [Prompt a file on MinIO](examples/object_prompt.rs)
|
||||
|
||||
|
||||
## License
|
||||
This SDK is distributed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE](https://github.com/minio/minio-rs/blob/master/LICENSE) for more information.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user