Crate aliyun_oss_client
source · [−]Expand description
一个 aliyun OSS 的客户端
使用方法
- 在自己的项目里添加如下依赖项
ⓘ
[dependencies]
aliyun-oss-client = "0.2.0"
- 打开你需要使用 oss 的文件,在里面添加如下内容,即可使用:
ⓘ
// dotenv 是用于获取配置信息的,可以不使用
extern crate dotenv;
use dotenv::dotenv;
use std::env;
// 需要提供四个配置信息
let key_id = env::var("ALIYUN_KEY_ID").unwrap();
let key_secret = env::var("ALIYUN_KEY_SECRET").unwrap();
let endpoint = env::var("ALIYUN_ENDPOINT").unwrap();
let bucket = env::var("ALIYUN_BUCKET").unwrap();
// 获取客户端实例
let client = aliyun_oss_client::client(&key_id,&key_secret, &endpoint, &bucket);
查询所有的 bucket 信息
ⓘ
let response = client.blocking_get_bucket_list().unwrap();
println!("buckets list: {:?}", response);
获取 bucket 信息
ⓘ
let response = client.blocking_get_bucket_info().unwrap();
println!("bucket info: {:?}", response);
查询当前 bucket 中的 object 列表
ⓘ
let query: HashMap<String,String> = HashMap::new();
let result = client.blocking_get_object_list(query).unwrap();
println!("object list : {:?}", result);
// 翻页功能 获取下一页数据
println!("next object list: {:?}", result.next().unwrap());
上传文件
ⓘ
client.blocking_put_file("examples/bg2015071010.png", "examples/bg2015071010.png").expect("上传失败");
// 上传文件内容
let mut file_content = Vec::new();
std::fs::File::open(file_name)
.expect("open file failed").read_to_end(&mut file_content)
.expect("read_to_end failed");
client.blocking_put_content(&file_content, "examples/bg2015071010.png").expect("上传失败");
删除文件
ⓘ
client.blocking_delete_object("examples/bg2015071010.png").unwrap();
Modules
验证模块
bucket 操作模块
对 reqwest 进行了简单的封装,加上了 OSS 的签名验证功能
存储对象模块
插件
定义 trait 们
Functions
主要入口