pub struct Client { /* private fields */ }

Implementations§

source§

impl Client

source

pub fn new<S: ToString>( access_key_id: S, secret_access_key: S, endpoint: &str ) -> Result<Client, ObsError>

endpoint 格式: https[http]://obs.cn-north-4.myhuaweicloud.com

source

pub fn security(&self) -> Option<SecurityHolder>

source

pub fn bucket<'a>(&'a self, name: &'a str) -> Bucket<'_>

source

pub fn builder() -> ClientBuilder

source

pub fn config(&self) -> &Config

source

pub async fn do_action<T, S1, S2>( &self, method: Method, bucket_name: S1, uri: S2, with_headers: Option<HeaderMap>, params: Option<HashMap<String, String>>, body: Option<T> ) -> Result<Response, ObsError>where T: Into<Body> + Send, S1: AsRef<str> + Send, S2: AsRef<str> + Send,

source

pub async fn do_action_without_bucket_name<T, S1>( &self, method: Method, uri: S1, with_headers: Option<HeaderMap>, params: Option<HashMap<String, String>>, body: Option<T> ) -> Result<Response, ObsError>where T: Into<Body> + Send, S1: AsRef<str> + Send,

Trait Implementations§

source§

impl Authorization for Client

source§

fn signature( &self, method: &str, _params: HashMap<String, String>, headers: HashMap<String, Vec<String>>, canonicalized_url: String ) -> Result<String, ObsError>

source§

fn auth( &self, method: &str, bucket: &str, params: HashMap<String, String>, headers: HashMap<String, Vec<String>>, canonicalized_url: String ) -> Result<HeaderMap, ObsError>

source§

impl BucketTrait for Client

source§

fn list_buckets<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<ListAllMyBucketsResult, ObsError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

获取桶列表

Example
let obs = client::Client::builder()
 .endpoint("https://obs.ap-southeast-1.myhuaweicloud.com")
 .security_provider(&ak, &sk)
 .build()?;
let _res = obs.list_buckets().await?;
source§

fn create_bucket<'life0, 'async_trait, S1, S2>( &'life0 self, name: S1, location: Option<S2> ) -> Pin<Box<dyn Future<Output = Result<(), ObsError>> + Send + 'async_trait>>where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

创建桶

  • name: 桶名
  • location: 桶地区
Example

Basic usage:

let obs = client::Client::builder()
 .endpoint("https://obs.ap-southeast-1.myhuaweicloud.com")
 .security_provider(&ak, &sk)
 .build()?;
let _res = obs.create_bucket("bucket", "cn-north-4").await?;
source§

fn list_objects<'life0, 'life1, 'life2, 'async_trait, S1>( &'life0 self, name: S1, prefix: Option<&'life1 str>, marker: Option<&'life2 str>, max_keys: Option<usize> ) -> Pin<Box<dyn Future<Output = Result<ListBucketResult, ObsError>> + Send + 'async_trait>>where S1: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

列举桶内对象

  • name: 桶名
  • prefix: 列举以指定的字符串prefix开头的对象。
  • marker: 列举桶内对象列表时,指定一个标识符,从该标识符以后按字典顺序返回对象列表。该字段仅用于非多版本列举。
  • max-keys: 指定返回的最大对象数,返回的对象列表将是按照字典顺序的最多前max-keys个对象,范围是[1,1000],超出范围时,按照默认的1000进行处理。
Examples

Basic usage:

let obs = client::Client::builder()
 .endpoint("https://obs.ap-southeast-1.myhuaweicloud.com")
 .security_provider(&ak, &sk)
 .build()?;
let _res = obs.list_objects('bucket', None, None, None).await?;
source§

impl Debug for Client

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl ObjectTrait for Client

source§

fn put_object<'life0, 'life1, 'async_trait, S>( &'life0 self, bucket: S, key: S, object: &'life1 [u8] ) -> Pin<Box<dyn Future<Output = Result<(), ObsError>> + Send + 'async_trait>>where S: 'async_trait + AsRef<str> + Send, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

PUT上传

source§

fn copy_object<'life0, 'async_trait, S1, S2, S3>( &'life0 self, bucket: S1, src: S2, dest: S3 ) -> Pin<Box<dyn Future<Output = Result<CopyObjectResult, ObsError>> + Send + 'async_trait>>where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, S3: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

复制对象

source§

fn delete_object<'life0, 'async_trait, S>( &'life0 self, bucket: S, key: S ) -> Pin<Box<dyn Future<Output = Result<(), ObsError>> + Send + 'async_trait>>where S: 'async_trait + AsRef<str> + Send, Self: 'async_trait, 'life0: 'async_trait,

删除对象

source§

fn get_object<'life0, 'async_trait, S>( &'life0 self, bucket: S, key: S ) -> Pin<Box<dyn Future<Output = Result<Bytes, ObsError>> + Send + 'async_trait>>where S: 'async_trait + AsRef<str> + Send, Self: 'async_trait, 'life0: 'async_trait,

获取对象内容

source§

fn get_object_metadata<'life0, 'async_trait, S>( &'life0 self, bucket: S, key: S ) -> Pin<Box<dyn Future<Output = Result<ObjectMeta, ObsError>> + Send + 'async_trait>>where S: 'async_trait + AsRef<str> + Send, Self: 'async_trait, 'life0: 'async_trait,

获取对象元数据

Auto Trait Implementations§

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more