Aditya Manthramurthy e5f6b16051
Add file-uploader example (#49)
Also add some basic fields to Cargo.toml to prepare for initial release.
2023-09-26 10:43:05 -07:00
2023-09-26 10:43:05 -07:00
2019-06-24 17:04:27 -07:00
2019-06-18 12:23:56 -07:00
2023-09-26 10:43:05 -07:00
2019-05-15 15:39:44 -07:00
2023-09-26 10:43:05 -07:00

MinIO Rust SDK for Amazon S3 Compatible Cloud Storage Slack Sourcegraph Apache V2 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.

For a complete list of APIs and examples, please take a look at the MinIO Rust Client API Reference

Example:: file-uploader.rs

use minio::s3::args::{BucketExistsArgs, MakeBucketArgs, UploadObjectArgs};
use minio::s3::client::Client;
use minio::s3::creds::StaticProvider;
use minio::s3::http::BaseUrl;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
    let base_url = BaseUrl::from_string("https://play.min.io".to_string()).unwrap();

    let static_provider = StaticProvider::new(
        "Q3AM3UQ867SPQQA43P2F",
        "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
        None,
    );

    let client = Client::new(
        base_url.clone(),
        Some(Box::new(static_provider)),
        None,
        None,
    )
    .unwrap();

    let bucket_name = "asiatrip";

    // Check 'asiatrip' bucket exist or not.
    let exists = client
        .bucket_exists(&BucketExistsArgs::new(&bucket_name).unwrap())
        .await
        .unwrap();

    // Make 'asiatrip' bucket if not exist.
    if !exists {
        client
            .make_bucket(&MakeBucketArgs::new(&bucket_name).unwrap())
            .await
            .unwrap();
    }

    // Upload '/home/user/Photos/asiaphotos.zip' as object name
    // 'asiaphotos-2015.zip' to bucket 'asiatrip'.
    client
        .upload_object(
            &mut UploadObjectArgs::new(
                &bucket_name,
                "asiaphotos-2015.zip",
                "/home/user/Photos/asiaphotos.zip",
            )
            .unwrap(),
        )
        .await
        .unwrap();

    println!("'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.");
    Ok(())
}

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

Description
MinIO Rust SDK for Amazon S3 Compatible Cloud Storage
Readme Apache-2.0 7.6 MiB
Languages
Rust 99.9%