10 个版本
0.1.9 | 2024年7月24日 |
---|---|
0.1.8 | 2024年1月13日 |
0.1.7 | 2023年11月20日 |
0.1.6 | 2023年10月10日 |
0.1.3 | 2022年1月27日 |
#179 in 异步
每月142次下载
70KB
2K SLoC
b2-backblaze
这是一个完全支持异步库,用于访问 Backblaze b2 服务后端 API。
变更
-crate have some performance changes but sadly this breaks the b2 api, although it can be fixed very quickly.
-b2 now holds creds in a Arc Mutex and shares a Arc of creds to each request, which enables multiple request to run in parallel and only one login request at a time
-try again api is added, this api keeps logging in with a time interval until login is successful
-each request will check session and login if required
特性
- 单文件上传
- 大文件和单文件 API
- 支持 v3
示例代码
use b2_backblaze::{B2,Config};
#[tokio::main]
async fn main() {
//start b2 client
let mut client = B2::new(Config::new(
"ID".to_string(),
"KEY".to_string()
));
//set bucket id
client.set_bucket_id("bucket_id".to_string());
//login and start session
match client.login().await{
Ok(_)=>{
println!(">>> login successfull");
},
Err(_e)=>{
return println!("!!! login failed : {:?}",_e);
}
}
//upload file to path
match client.upload(
"emails/some_email/drink.png".to_string(),
"d://workstation/expo/rust/letterman/letterman/drink.png".to_string()
).await{
Ok(_v)=>{
println!(">>> upload successfull");
},
Err(_e)=>{
return println!("!!! login failed : {:?}",_e);
}
}
}
依赖
~6–20MB
~255K SLoC