基于 qiniu-apis
提供针对七牛对象的管理功能 (同时提供阻塞客户端和异步客户端,异步客户端则需要启用 async
功能),
主要负责七牛对象的列举和操作。
ureq
toml
[dependencies]
qiniu-objects-manager = { version = "0.1.2", features = ["ureq"] }
toml
[dependencies]
qiniu-objects-manager = { version = "0.1.2", features = ["async", "isahc"] }
toml
[dependencies]
qiniu-objects-manager = { version = "0.1.2", features = ["async", "reqwest"] }
c_ares
启用 c-ares
库作为 DNS 解析器
trust_dns
启用 trust-dns
库作为 DNS 解析器
dns-over-https
启用 trust-dns
库作为 DNS 解析器,并使用 DOH 协议
dns-over-tls
启用 trust-dns
库作为 DNS 解析器,并使用 DOT 协议
```rust use qiniuobjectsmanager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890"); let objectmanager = ObjectsManager::new(credential); let bucket = objectmanager.bucket("test-bucket");
let response = bucket.statobject("test-key").call()?; let object = response.intobody(); println!("fsize: {}", object.getsizeasu64()); println!("hash: {}", object.gethashasstr()); println!("mimetype: {}", object.getmimetypeas_str()); ```
```rust use qiniuobjectsmanager::{apis::credential::Credential, ObjectsManager, OperationProvider}; use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890"); let objectmanager = ObjectsManager::new(credential); let bucket = objectmanager.bucket("test-bucket"); let mut ops = bucket.batchops(); ops.addoperation(bucket.statobject("test-file-1")); ops.addoperation(bucket.statobject("test-file-2")); ops.addoperation(bucket.statobject("test-file-3")); ops.addoperation(bucket.statobject("test-file-4")); ops.addoperation(bucket.statobject("test-file-5")); let mut iter = ops.call(); while let Some(object) = iter.next() { let object = object?; println!("fsize: {:?}", object.getsizeasu64()); println!("hash: {:?}", object.gethashasstr()); println!("mimetype: {:?}", object.getmimetypeasstr()); } ```
```rust use qiniuobjectsmanager::{apis::credential::Credential, ObjectsManager}; use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890"); let objectmanager = ObjectsManager::new(credential); let bucket = objectmanager.bucket("test-bucket"); let mut iter = bucket.list().iter(); while let Some(object) = iter.next() { let object = object?; println!("fsize: {:?}", object.getsizeasu64()); println!("hash: {:?}", object.gethashasstr()); println!("mimetype: {:?}", object.getmimetypeas_str()); } ```
```rust use qiniuobjectsmanager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890"); let objectmanager = ObjectsManager::new(credential); let bucket = objectmanager.bucket("test-bucket");
let response = bucket.statobject("test-key").asynccall().await?; let object = response.intobody(); println!("fsize: {}", object.getsizeasu64()); println!("hash: {}", object.gethashasstr()); println!("mimetype: {}", object.getmimetypeasstr()); ```
```rust use qiniuobjectsmanager::{apis::credential::Credential, ObjectsManager, OperationProvider}; use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890"); let objectmanager = ObjectsManager::new(credential); let bucket = objectmanager.bucket("test-bucket"); let mut ops = bucket.batchops(); ops.addoperation(bucket.statobject("test-file-1")); ops.addoperation(bucket.statobject("test-file-2")); ops.addoperation(bucket.statobject("test-file-3")); ops.addoperation(bucket.statobject("test-file-4")); ops.addoperation(bucket.statobject("test-file-5")); let mut stream = ops.asynccall(); while let Some(object) = stream.trynext().await? { println!("fsize: {:?}", object.getsizeasu64()); println!("hash: {:?}", object.gethashasstr()); println!("mimetype: {:?}", object.getmimetypeasstr()); } ```
```rust use qiniuobjectsmanager::{apis::credential::Credential, ObjectsManager}; use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890"); let objectmanager = ObjectsManager::new(credential); let bucket = objectmanager.bucket("test-bucket"); let mut stream = bucket.list().stream(); while let Some(object) = stream.trynext().await? { println!("fsize: {:?}", object.getsizeasu64()); println!("hash: {:?}", object.gethashasstr()); println!("mimetype: {:?}", object.getmimetypeasstr()); } ```
1.60.0
This project is licensed under the [MIT license].