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<'_>
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Examples found in repository?
examples/obs.rs (line 17)
11async fn main()->Result<(), ObsError> {
12 dotenvy::dotenv().unwrap();
13
14 let ak = env::var("OBS_AK").unwrap();
15 let sk = env::var("OBS_SK").unwrap();
16 // println!("ak:{},sk:{}",&ak,&sk);
17 let obs = client::Client::builder()
18 .endpoint("https://obs.ap-southeast-1.myhuaweicloud.com")
19 .security_provider(&ak, &sk) //ifree-test
20 .build()?;
21 let key= "test.jpeg";
22 let bytes = obs.get_object("bucket", key).await?;
23
24 let mut file = std::fs::File::create("test.jpeg").unwrap();
25 file.write_all(&bytes).unwrap();
26
27 Ok(())
28}
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>, params: Option<HashMap<String, String>>, body: Option<T>, ) -> Result<Response, ObsError>
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>
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,
获取桶列表 Read more
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>>
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>>
创建桶 Read more
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>>
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>>
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>>
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>>
复制对象
Source§fn delete_object<'life0, 'async_trait, S>(
&'life0 self,
bucket: S,
key: S,
) -> Pin<Box<dyn Future<Output = Result<(), ObsError>> + Send + '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>>
删除对象
Source§fn delete_objects<'life0, 'async_trait, S, K>(
&'life0 self,
bucket: S,
keys: K,
response_mode: ResponseMode,
) -> Pin<Box<dyn Future<Output = Result<(), ObsError>> + Send + 'async_trait>>where
S: 'async_trait + AsRef<str> + Send,
K: 'async_trait + IntoIterator<Item = S> + Send,
Self: 'async_trait,
'life0: 'async_trait,
fn delete_objects<'life0, 'async_trait, S, K>(
&'life0 self,
bucket: S,
keys: K,
response_mode: ResponseMode,
) -> Pin<Box<dyn Future<Output = Result<(), ObsError>> + Send + 'async_trait>>where
S: 'async_trait + AsRef<str> + Send,
K: 'async_trait + IntoIterator<Item = S> + 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>>
fn get_object<'life0, 'async_trait, S>( &'life0 self, bucket: S, key: S, ) -> Pin<Box<dyn Future<Output = Result<Bytes, ObsError>> + Send + '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>>
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>>
获取对象元数据
Auto Trait Implementations§
impl Freeze for Client
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