Skip to content
forked from minio/minio-rs

MinIO Rust SDK for Amazon S3 Compatible Cloud Storage

License

Notifications You must be signed in to change notification settings

hlavaatch/minio-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 mut base_url = BaseUrl::from_string("play.min.io").unwrap();
    base_url.https = true;

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

    let mut client = Client::new(base_url.clone(), Some(static_provider));

    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 !exist {
        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'.");
}

License

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

About

MinIO Rust SDK for Amazon S3 Compatible Cloud Storage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.8%
  • Shell 0.2%