Struct qiniu_objects_manager::Bucket
source · pub struct Bucket(_);
Expand description
七牛存储空间管理器
Implementations§
source§impl Bucket
impl Bucket
sourcepub fn name(&self) -> &BucketName
pub fn name(&self) -> &BucketName
获取存储空间名称
sourcepub fn objects_manager(&self) -> &ObjectsManager
pub fn objects_manager(&self) -> &ObjectsManager
获取对象管理器
sourcepub fn list(&self) -> ListBuilder<'_>
pub fn list(&self) -> ListBuilder<'_>
创建列举操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
let mut iter = bucket.list().iter();
while let Some(object) = iter.next() {
let object = object?;
println!("fsize: {:?}", object.get_size_as_u64());
println!("hash: {:?}", object.get_hash_as_str());
println!("mime_type: {:?}", object.get_mime_type_as_str());
}
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
let mut stream = bucket.list().stream();
while let Some(object) = stream.try_next().await? {
println!("fsize: {:?}", object.get_size_as_u64());
println!("hash: {:?}", object.get_hash_as_str());
println!("mime_type: {:?}", object.get_mime_type_as_str());
}
sourcepub fn stat_object<'a>(&'a self, object_name: &'a str) -> StatObjectBuilder<'a>
pub fn stat_object<'a>(&'a self, object_name: &'a str) -> StatObjectBuilder<'a>
创建对象元信息获取操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
let response = bucket.stat_object("test-key").call()?;
let object = response.into_body();
println!("fsize: {}", object.get_size_as_u64());
println!("hash: {}", object.get_hash_as_str());
println!("mime_type: {}", object.get_mime_type_as_str());
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
let response = bucket.stat_object("test-key").async_call().await?;
let object = response.into_body();
println!("fsize: {}", object.get_size_as_u64());
println!("hash: {}", object.get_hash_as_str());
println!("mime_type: {}", object.get_mime_type_as_str());
sourcepub fn copy_object_to<'a>(
&'a self,
from_object_name: &'a str,
to_bucket_name: &'a str,
to_object_name: &'a str
) -> CopyObjectBuilder<'a>
pub fn copy_object_to<'a>( &'a self, from_object_name: &'a str, to_bucket_name: &'a str, to_object_name: &'a str ) -> CopyObjectBuilder<'a>
创建对象复制操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.copy_object_to("test-key", "test-bucket-2", "test-key").call()?;
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.copy_object_to("test-key", "test-bucket-2", "test-key").async_call().await?;
sourcepub fn move_object_to<'a>(
&'a self,
from_object_name: &'a str,
to_bucket_name: &'a str,
to_object_name: &'a str
) -> MoveObjectBuilder<'a>
pub fn move_object_to<'a>( &'a self, from_object_name: &'a str, to_bucket_name: &'a str, to_object_name: &'a str ) -> MoveObjectBuilder<'a>
创建对象移动操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.move_object_to("test-key", "test-bucket-2", "test-key").call()?;
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.move_object_to("test-key", "test-bucket-2", "test-key").async_call().await?;
sourcepub fn delete_object<'a>(
&'a self,
object_name: &'a str
) -> DeleteObjectBuilder<'a>
pub fn delete_object<'a>( &'a self, object_name: &'a str ) -> DeleteObjectBuilder<'a>
创建对象删除操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.delete_object("test-key").call()?;
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.delete_object("test-key").async_call().await?;
sourcepub fn restore_archived_object<'a>(
&'a self,
object_name: &'a str,
freeze_after_days: usize
) -> UnfreezeObjectBuilder<'a>
pub fn restore_archived_object<'a>( &'a self, object_name: &'a str, freeze_after_days: usize ) -> UnfreezeObjectBuilder<'a>
创建对象解冻操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.restore_archived_object("test-key", 1).call()?;
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.restore_archived_object("test-key", 1).async_call().await?;
sourcepub fn set_object_type<'a>(
&'a self,
object_name: &'a str,
object_type: FileType
) -> SetObjectTypeBuilder<'a>
pub fn set_object_type<'a>( &'a self, object_name: &'a str, object_type: FileType ) -> SetObjectTypeBuilder<'a>
创建对象类型设置操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::{credential::Credential, upload_token::FileType}, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.set_object_type("test-key", FileType::Archive).call()?;
异步代码示例
use qiniu_objects_manager::{apis::{credential::Credential, upload_token::FileType}, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.set_object_type("test-key", FileType::Archive).async_call().await?;
sourcepub fn modify_object_status<'a>(
&'a self,
object_name: &'a str,
disable: bool
) -> ModifyObjectStatusBuilder<'a>
pub fn modify_object_status<'a>( &'a self, object_name: &'a str, disable: bool ) -> ModifyObjectStatusBuilder<'a>
创建对象状态设置操作构建器
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.modify_object_status("test-key", true).call()?;
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.modify_object_status("test-key", true).async_call().await?;
sourcepub fn modify_object_metadata<'a>(
&'a self,
object_name: &'a str,
mime_type: Mime
) -> ModifyObjectMetadataBuilder<'a>
pub fn modify_object_metadata<'a>( &'a self, object_name: &'a str, mime_type: Mime ) -> ModifyObjectMetadataBuilder<'a>
创建对象元信息设置操作构建器
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager, mime::APPLICATION_JSON};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.modify_object_metadata("test-key", APPLICATION_JSON).async_call().await?;
sourcepub fn modify_object_life_cycle<'a>(
&'a self,
object_name: &'a str
) -> ModifyObjectLifeCycleBuilder<'a>
pub fn modify_object_life_cycle<'a>( &'a self, object_name: &'a str ) -> ModifyObjectLifeCycleBuilder<'a>
创建对象生命周期设置操作构建器
阻塞代码示例
use qiniu_objects_manager::{AfterDays, apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.modify_object_life_cycle("test-key").delete_after_days(AfterDays::new(5)).call()?;
异步代码示例
use qiniu_objects_manager::{AfterDays, apis::credential::Credential, ObjectsManager};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
bucket.modify_object_life_cycle("test-key").delete_after_days(AfterDays::new(5)).async_call().await?;
sourcepub fn batch_ops(&self) -> BatchOperations<'_>
pub fn batch_ops(&self) -> BatchOperations<'_>
创建批量操作
阻塞代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager, OperationProvider};
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
let mut ops = bucket.batch_ops();
ops.add_operation(bucket.stat_object("test-file-1"));
ops.add_operation(bucket.stat_object("test-file-2"));
ops.add_operation(bucket.stat_object("test-file-3"));
ops.add_operation(bucket.stat_object("test-file-4"));
ops.add_operation(bucket.stat_object("test-file-5"));
let mut iter = ops.call();
while let Some(object) = iter.next() {
let object = object?;
println!("fsize: {:?}", object.get_size_as_u64());
println!("hash: {:?}", object.get_hash_as_str());
println!("mime_type: {:?}", object.get_mime_type_as_str());
}
异步代码示例
use qiniu_objects_manager::{apis::credential::Credential, ObjectsManager, OperationProvider};
use futures::stream::TryStreamExt;
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let object_manager = ObjectsManager::new(credential);
let bucket = object_manager.bucket("test-bucket");
let mut ops = bucket.batch_ops();
ops.add_operation(bucket.stat_object("test-file-1"));
ops.add_operation(bucket.stat_object("test-file-2"));
ops.add_operation(bucket.stat_object("test-file-3"));
ops.add_operation(bucket.stat_object("test-file-4"));
ops.add_operation(bucket.stat_object("test-file-5"));
let mut stream = ops.async_call();
while let Some(object) = stream.try_next().await? {
println!("fsize: {:?}", object.get_size_as_u64());
println!("hash: {:?}", object.get_hash_as_str());
println!("mime_type: {:?}", object.get_mime_type_as_str());
}
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Bucket
impl Send for Bucket
impl Sync for Bucket
impl Unpin for Bucket
impl !UnwindSafe for Bucket
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.