Struct huaweicloud_sdk_rust_obs::client::Client
source · pub struct Client { /* private fields */ }
Implementations§
source§impl Client
impl Client
sourcepub fn new<S: ToString>(
access_key_id: S,
secret_access_key: S,
endpoint: &str
) -> Result<Client, ObsError>
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
pub fn security(&self) -> Option<SecurityHolder>
pub fn bucket<'a>(&'a self, name: &'a str) -> Bucket<'_>
pub fn builder() -> ClientBuilder
pub fn config(&self) -> &Config
pub async fn do_action<T, S1, S2>( &self, method: Method, bucket_name: S1, uri: S2, with_headers: Option<HeaderMap>, body: Option<T> ) -> Result<Response, ObsError>where T: Into<Body> + Send, S1: AsRef<str> + Send, S2: AsRef<str> + Send,
pub async fn do_action_without_bucket_name<T, S1>( &self, method: Method, uri: S1, with_headers: Option<HeaderMap>, body: Option<T> ) -> Result<Response, ObsError>where T: Into<Body> + Send, S1: AsRef<str> + Send,
Trait Implementations§
source§impl Authorization for Client
impl Authorization for Client
fn signature( &self, method: &str, _params: HashMap<String, String>, headers: HashMap<String, Vec<String>>, canonicalized_url: String ) -> Result<String, ObsError>
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
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,
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,
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,
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 ObjectTrait for Client
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,
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,
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,
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,
删除对象
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> 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