#[non_exhaustive]pub struct Bucket<PointerSel: PointerFamily = ArcPointer> { /* private fields */ }
Expand description
内置的存放单个 bucket 的类型
Implementations§
Source§impl<T: PointerFamily> Bucket<T>
impl<T: PointerFamily> Bucket<T>
Sourcepub fn new(
base: BucketBase,
creation_date: DateTime<Utc>,
storage_class: StorageClass,
client: T::PointerType,
) -> Self
pub fn new( base: BucketBase, creation_date: DateTime<Utc>, storage_class: StorageClass, client: T::PointerType, ) -> Self
初始化 Bucket
Sourcepub fn creation_date(&self) -> &DateTime<Utc>
pub fn creation_date(&self) -> &DateTime<Utc>
获取 bucket 创建时间
Sourcepub fn storage_class(&self) -> &StorageClass
pub fn storage_class(&self) -> &StorageClass
获取 storage_class
Sourcepub fn base(&self) -> &BucketBase
pub fn base(&self) -> &BucketBase
读取 bucket 基本信息
Source§impl Bucket
impl Bucket
Sourcepub async fn get_object_list<Q: IntoIterator<Item = (QueryKey, QueryValue)>>(
&self,
query: Q,
) -> Result<ObjectList, ExtractListError>
pub async fn get_object_list<Q: IntoIterator<Item = (QueryKey, QueryValue)>>( &self, query: Q, ) -> Result<ObjectList, ExtractListError>
§查询 Object 列表
参数 query 有多种写法:
[]
查所有[("max-keys".into(), "5".into())]
数组(不可变长度),最大可支持 size 为 8 的数组[("max-keys".into(), "5".into()), ("prefix".into(), "babel".into())]
数组(不可变长度)vec![("max-keys".into(), "5".into())]
Vec(可变长度)vec![("max-keys".into(), 5u8.into())]
数字类型vec![("max-keys".into(), 1000u16.into())]
u16 数字类型
Sourcepub async fn get_object_list2(
&self,
query: Query,
) -> Result<ObjectList, ExtractListError>
pub async fn get_object_list2( &self, query: Query, ) -> Result<ObjectList, ExtractListError>
§查询 Object 列表
Source§impl Bucket<RcPointer>
impl Bucket<RcPointer>
Sourcepub fn get_object_list<Q: IntoIterator<Item = (QueryKey, QueryValue)>>(
&self,
query: Q,
) -> Result<ObjectList<RcPointer>, ExtractListError>
pub fn get_object_list<Q: IntoIterator<Item = (QueryKey, QueryValue)>>( &self, query: Q, ) -> Result<ObjectList<RcPointer>, ExtractListError>
查询默认 bucket 的文件列表
查询条件参数有多种方式,具体参考 get_object_list
文档
Trait Implementations§
Source§impl AlignBuilder for Bucket
impl AlignBuilder for Bucket
Source§fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>(
&self,
method: Method,
url: Url,
resource: CanonicalizedResource,
headers: H,
) -> Result<RequestBuilder, BuilderError>
fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>( &self, method: Method, url: Url, resource: CanonicalizedResource, headers: H, ) -> Result<RequestBuilder, BuilderError>
根据具体的 API 接口参数,返回请求的构建器
Source§impl AlignBuilder for Bucket<RcPointer>
impl AlignBuilder for Bucket<RcPointer>
Source§fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>(
&self,
method: Method,
url: Url,
resource: CanonicalizedResource,
headers: H,
) -> Result<RequestBuilder, BuilderError>
fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>( &self, method: Method, url: Url, resource: CanonicalizedResource, headers: H, ) -> Result<RequestBuilder, BuilderError>
根据具体的 API 接口参数,返回请求的构建器
Source§impl<T: PointerFamily> AsRef<BucketBase> for Bucket<T>
impl<T: PointerFamily> AsRef<BucketBase> for Bucket<T>
Source§fn as_ref(&self) -> &BucketBase
fn as_ref(&self) -> &BucketBase
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<T: PointerFamily> AsRef<BucketName> for Bucket<T>
impl<T: PointerFamily> AsRef<BucketName> for Bucket<T>
Source§fn as_ref(&self) -> &BucketName
fn as_ref(&self) -> &BucketName
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<PointerSel: Clone + PointerFamily> Clone for Bucket<PointerSel>where
PointerSel::PointerType: Clone,
impl<PointerSel: Clone + PointerFamily> Clone for Bucket<PointerSel>where
PointerSel::PointerType: Clone,
Source§impl GetStdWithPath<&ObjectBase<RcPointer>> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 &ObjectBase
类型
impl GetStdWithPath<&ObjectBase<RcPointer>> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 &ObjectBase
类型
Source§fn get_std_with_path(
&self,
base: &ObjectBase<RcPointer>,
) -> Option<(Url, CanonicalizedResource)>
fn get_std_with_path( &self, base: &ObjectBase<RcPointer>, ) -> Option<(Url, CanonicalizedResource)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl GetStdWithPath<&ObjectBase> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 &ObjectBase
类型
impl GetStdWithPath<&ObjectBase> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 &ObjectBase
类型
Source§fn get_std_with_path(
&self,
base: &ObjectBase<ArcPointer>,
) -> Option<(Url, CanonicalizedResource)>
fn get_std_with_path( &self, base: &ObjectBase<ArcPointer>, ) -> Option<(Url, CanonicalizedResource)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl GetStdWithPath<ObjectBase<RcPointer>> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 ObjectBase
类型
impl GetStdWithPath<ObjectBase<RcPointer>> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 ObjectBase
类型
Source§fn get_std_with_path(
&self,
base: ObjectBase<RcPointer>,
) -> Option<(Url, CanonicalizedResource)>
fn get_std_with_path( &self, base: ObjectBase<RcPointer>, ) -> Option<(Url, CanonicalizedResource)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl GetStdWithPath<ObjectBase> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 ObjectBase
类型
impl GetStdWithPath<ObjectBase> for Bucket
§用于在 Bucket 上对文件进行操作
文件路径可以是 ObjectBase
类型
Source§fn get_std_with_path(
&self,
base: ObjectBase<ArcPointer>,
) -> Option<(Url, CanonicalizedResource)>
fn get_std_with_path( &self, base: ObjectBase<ArcPointer>, ) -> Option<(Url, CanonicalizedResource)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<PointerSel: Hash + PointerFamily> Hash for Bucket<PointerSel>where
PointerSel::PointerType: Hash,
impl<PointerSel: Hash + PointerFamily> Hash for Bucket<PointerSel>where
PointerSel::PointerType: Hash,
Source§impl InitObject<Bucket<RcPointer>> for ListBuckets<RcPointer>
impl InitObject<Bucket<RcPointer>> for ListBuckets<RcPointer>
Source§impl InitObject<Bucket> for ListBuckets
impl InitObject<Bucket> for ListBuckets
Source§impl<T: PointerFamily> PartialEq<BucketBase> for Bucket<T>
impl<T: PointerFamily> PartialEq<BucketBase> for Bucket<T>
Source§impl<T: PointerFamily> RefineBucket<BucketError> for Bucket<T>
impl<T: PointerFamily> RefineBucket<BucketError> for Bucket<T>
Source§fn set_location(&mut self, location: &str) -> Result<(), BucketError>
fn set_location(&mut self, location: &str) -> Result<(), BucketError>
提取 location
Source§fn set_creation_date(&mut self, creation_date: &str) -> Result<(), BucketError>
fn set_creation_date(&mut self, creation_date: &str) -> Result<(), BucketError>
提取 bucket 创建时间
Source§fn set_storage_class(&mut self, storage_class: &str) -> Result<(), BucketError>
fn set_storage_class(&mut self, storage_class: &str) -> Result<(), BucketError>
提取 storage_class
Source§fn set_extranet_endpoint(
&mut self,
_extranet_endpoint: &str,
) -> Result<(), Error>
fn set_extranet_endpoint( &mut self, _extranet_endpoint: &str, ) -> Result<(), Error>
提取 extranet_endpoint
Auto Trait Implementations§
impl<PointerSel> Freeze for Bucket<PointerSel>where
<PointerSel as PointerFamily>::PointerType: Freeze,
impl<PointerSel> RefUnwindSafe for Bucket<PointerSel>where
<PointerSel as PointerFamily>::PointerType: RefUnwindSafe,
impl<PointerSel> Send for Bucket<PointerSel>where
<PointerSel as PointerFamily>::PointerType: Send,
impl<PointerSel> Sync for Bucket<PointerSel>where
<PointerSel as PointerFamily>::PointerType: Sync,
impl<PointerSel> Unpin for Bucket<PointerSel>where
<PointerSel as PointerFamily>::PointerType: Unpin,
impl<PointerSel> UnwindSafe for Bucket<PointerSel>where
<PointerSel as PointerFamily>::PointerType: UnwindSafe,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<P, T> Files<P> for T
impl<P, T> Files<P> for T
Source§const DEFAULT_CONTENT_TYPE: &'static str = DEFAULT_CONTENT_TYPE
const DEFAULT_CONTENT_TYPE: &'static str = DEFAULT_CONTENT_TYPE
默认的文件类型 Read more
Source§fn put_file<'life0, 'async_trait, P>(
&'life0 self,
file_name: P,
path: Path,
) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
fn put_file<'life0, 'async_trait, P>( &'life0 self, file_name: P, path: Path, ) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
上传文件到 OSS Read more
Source§fn put_content<'life0, 'async_trait, F>(
&'life0 self,
content: Vec<u8>,
path: Path,
get_content_type: F,
) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
fn put_content<'life0, 'async_trait, F>( &'life0 self, content: Vec<u8>, path: Path, get_content_type: F, ) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
上传文件内容到 OSS Read more
Source§fn put_content_base<'life0, 'life1, 'async_trait>(
&'life0 self,
content: Vec<u8>,
content_type: &'life1 str,
path: Path,
) -> Pin<Box<dyn Future<Output = Result<Response, FileError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put_content_base<'life0, 'life1, 'async_trait>(
&'life0 self,
content: Vec<u8>,
content_type: &'life1 str,
path: Path,
) -> Pin<Box<dyn Future<Output = Result<Response, FileError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
最核心的上传文件到 OSS 的方法
Source§fn get_object<'life0, 'async_trait, Num, R>(
&'life0 self,
path: Path,
range: R,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'async_trait>>where
R: Into<ContentRange<Num>> + Send + Sync + 'async_trait,
ContentRange<Num>: Into<HeaderValue>,
Num: 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_object<'life0, 'async_trait, Num, R>(
&'life0 self,
path: Path,
range: R,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'async_trait>>where
R: Into<ContentRange<Num>> + Send + Sync + 'async_trait,
ContentRange<Num>: Into<HeaderValue>,
Num: 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
获取 OSS 上文件的部分或全部内容 Read more
Source§impl<P, T> Files<P> for Twhere
T: AlignBuilder + GetStdWithPath<P>,
impl<P, T> Files<P> for Twhere
T: AlignBuilder + GetStdWithPath<P>,
Source§const DEFAULT_CONTENT_TYPE: &'static str = super::DEFAULT_CONTENT_TYPE
const DEFAULT_CONTENT_TYPE: &'static str = super::DEFAULT_CONTENT_TYPE
默认的文件类型 Read more
Source§fn put_file<P: Into<PathBuf> + AsRef<Path>>(
&self,
file_name: P,
path: Path,
) -> Result<String, FileError>
fn put_file<P: Into<PathBuf> + AsRef<Path>>( &self, file_name: P, path: Path, ) -> Result<String, FileError>
上传文件到 OSS Read more
Source§fn put_content<F>(
&self,
content: Vec<u8>,
path: Path,
get_content_type: F,
) -> Result<String, FileError>
fn put_content<F>( &self, content: Vec<u8>, path: Path, get_content_type: F, ) -> Result<String, FileError>
上传文件内容到 OSS Read more
Source§fn put_content_base(
&self,
content: Vec<u8>,
content_type: &str,
path: Path,
) -> Result<Response, FileError>
fn put_content_base( &self, content: Vec<u8>, content_type: &str, path: Path, ) -> Result<Response, FileError>
最原始的上传文件的方法
Source§impl<B> GetStdWithPath<&ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<&ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: &ObjectPathInner<'static>,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: &ObjectPathInner<'static>, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<B> GetStdWithPath<&str> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<&str> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: &str,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: &str, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<B> GetStdWithPath<ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: ObjectPathInner<'static>,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: ObjectPathInner<'static>, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<B> GetStdWithPath<String> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<String> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: String,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: String, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource