OSS-Rust-SDK
It's an unofficial Rust port for https://github.com/aliyun/aliyun-oss-cpp-sdk, just implement core APIs of https://help.aliyun.com/document_detail/31977.html, everyone is welcome to submit a PR to implement which interface you need.
Getting Started
List your_Buckets
use *;
let oss_instance = OSS new;
let list_buckets = oss_instance.list_bucket.unwrap;
let id = list_buckets.id;
let your_Buckets = list_buckets.buckets;
let your_Bucket_names: = your_Buckets.iter.map.collect;
Get Object
use *;
use HashMap;
let oss_instance = OSS new;
/// if have extra header
let mut extra_header = new;
extra_header.insert;
/// if have oss_sub_resource
let mut oss_sub_resource = new;
oss_sub_resource.insert;
oss_sub_resource.insert;
let result = oss_instance.get_object;
/// or you may just get object
/// let result = oss_instance.get_object("object", None, None);
assert_eq!;
let buffer = result.unwrap;
Get Object async
use OSS;
use *;
use Runtime;
or
async
Put Object by file
use *;
let filename = "filename";
let oss_instance = OSS new;
let result = oss_instance.put_object_from_file;
assert_eq!
Put Ojbect by buffer
let buffer = "some thing you want put to oss";
let oss_instance = OSS new;
let result = oss_instance.put_object_from_buffer;
assert_eq!
Pub Object Async
use OSS;
use *;
let buffer = "test async put object from buffer";
let oss_instance = OSS new;
let mut headers = new;
headers.insert;
oss_instance.put_object.await?;
Copy Object
use *;
let oss_instance = OSS new;
let result = oss_instance.copy_object_from_object;
assert_eq!
Delete Ojbect
use *;
let oss_instance = OSS new;
let result = oss_instance.delete_object;
assert_eq!
You can use oss_instance.set_bucket("your_Bucket")
to change specific bucket after create the oss instance.
License
- Apache License 2.0.