Getting Started

List your_Buckets

```rust use ossrustsdk::prelude::*; let ossinstance = OSS::new("yourAccessKeyId", "yourAccessKeySecret", "yourEndpoint", "yourBucket"); let listyourBuckets = ossinstance.listyourBucket(None).unwrap();

let id = listyourBuckets.id(); let yourBuckets = listyourBuckets.yourBuckets(); let yourBucketnames: Vec<&str> = your_Buckets.iter().map(|obj| obj.name()).collect(); ```

Get Object

```rust use ossrustsdk::prelude::*; use std::collections::HashMap;

let ossinstance = OSS::new("yourAccessKeyId", "yourAccessKeySecret", "yourEndpoint", "your_Bucket");

/// if have extra header let mut extraheader = HashMap::new(); extraheader.insert("content-type", "text/plain"); /// if have osssubresource let mut osssubresource = HashMap::new(); osssubresource.insert("acl", None); osssubresource.insert("response-content-type", Some("ContentType"));

let result = ossinstance.getobject("object", extarheader, osssubresource); /// or you may just get object /// let result = ossinstance.getobject("object", None, None); asserteq!(result.is_ok(), true); let buffer = result.unwrap(); ```

Get Object async

```rust use ossrustsdk::oss::OSS; use ossrustsdk::async_object::*; use tokio::runtime::Runtime;

fn asyncgetobjectdemo() { let ossinstance = OSS::new("yourAccessKeyId", "yourAccessKeySecret", "yourEndpoint", "yourBucket");

let mut rt = Runtime::new().expect("failed to start runtime");

rt.block_on(async move {
    let _ = oss_instance.get_object("objectName", None::<HashMap<&str, &str>>, None).await.unwrap();
    println!("buffer = {:?}", String::from_utf8(result.unwrap()));
});

}

or

async fn asyncgetobjectdemo() -> Reuslt { let ossinstance = OSS::new("yourAccessKeyId", "yourAccessKeySecret", "yourEndpoint", "yourBucket"); let buf = ossinstance.asyncgetobject("objectName", None, None).await?; String::fromutf8(buf)? } ```

Put Object by file

rust use oss_rust_sdk::prelude::*; let filename = "filename"; let oss_instance = OSS::new("your_AccessKeyId", "your_AccessKeySecret", "your_Endpoint", "your_Bucket"); let result = oss_instance.put_object_from_file(filename, "object", None, None); assert_eq!(result.is_ok(), true)

Put Ojbect by buffer

rust let buffer = "some thing you want put to oss"; let oss_instance = OSS::new("your_AccessKeyId", "your_AccessKeySecret", "your_Endpoint", "your_Bucket"); let result = oss_instance.put_object_from_buffer(buffer.as_bytes(), "object", None, None); assert_eq!(result.is_ok(), true)

Pub Object Async

```rust use ossrustsdk::oss::OSS; use ossrustsdk::async_object::*;

let buffer = "test async put object from buffer"; let ossinstance = OSS::new("yourAccessKeyId", "yourAccessKeySecret", "yourEndpoint", "your_Bucket"); let mut headers = HashMap::new(); headers.insert("content-type", "text/plain");

ossinstance.putobject(buffer.asbytes(),"yourobject_name", headers,None).await?; ```

Copy Object

rust use oss_rust_sdk::prelude::*; let oss_instance = OSS::new("your_AccessKeyId", "your_AccessKeySecret", "your_Endpoint", "your_Bucket"); let result = oss_instance.copy_object_from_object("src_object", "dest_object", None, None); assert_eq!(result.is_ok(), true)

Delete Ojbect

rust use oss_rust_sdk::prelude::*; let oss_instance = OSS::new("your_AccessKeyId", "your_AccessKeySecret", "your_Endpoint", "your_Bucket"); let result = oss_instance.delete_object("object"); assert_eq!(result.is_ok(), true)

You can use oss_instance.set_your_Bucket("your_Bucket") to change yourBucket if you want change yourBucket after instance a oss

TODO:

License