Skip to main content

ObjectOperations

Trait ObjectOperations 

Source
pub trait ObjectOperations {
Show 18 methods // Required methods fn put_object_from_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult> where S1: AsRef<str>, S2: AsRef<str>, P: AsRef<Path>; fn put_object_from_buffer<S1, S2, B>( &self, bucket_name: S1, object_key: S2, buffer: B, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult> where S1: AsRef<str>, S2: AsRef<str>, B: Into<Vec<u8>>; fn put_object_from_base64<S1, S2, S3>( &self, bucket_name: S1, object_key: S2, base64_string: S3, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult> where S1: AsRef<str>, S2: AsRef<str>, S3: AsRef<str>; fn append_object_from_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult> where S1: AsRef<str>, S2: AsRef<str>, P: AsRef<Path>; fn append_object_from_buffer<S1, S2, B>( &self, bucket_name: S1, object_key: S2, buffer: B, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult> where S1: AsRef<str>, S2: AsRef<str>, B: Into<Vec<u8>>; fn append_object_from_base64<S1, S2, S3>( &self, bucket_name: S1, object_key: S2, base64_string: S3, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult> where S1: AsRef<str>, S2: AsRef<str>, S3: AsRef<str>; fn get_object_to_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, options: Option<GetObjectOptions>, ) -> Result<GetObjectResult> where S1: AsRef<str>, S2: AsRef<str>, P: AsRef<Path>; fn get_object_to_buffer<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectOptions>, ) -> Result<Vec<u8>> where S1: AsRef<str> + Send, S2: AsRef<str> + Send; fn create_folder<S1, S2>( &self, bucket_name: S1, object_key: S2, ) -> Result<()> where S1: AsRef<str>, S2: AsRef<str>; fn delete_folder<S1, S2>( &self, bucket_name: S1, object_key: S2, ) -> Result<()> where S1: AsRef<str>, S2: AsRef<str>; fn get_object_metadata<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Result<ObjectMetadata> where S1: AsRef<str>, S2: AsRef<str>; fn exists<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Result<bool> where S1: AsRef<str>, S2: AsRef<str>; fn head_object<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<HeadObjectOptions>, ) -> Result<ObjectMetadata> where S1: AsRef<str>, S2: AsRef<str>; fn copy_object<S1, S2, S3, S4>( &self, source_bucket_name: S1, source_object_key: S2, dest_bucket_name: S3, dest_object_key: S4, options: Option<CopyObjectOptions>, ) -> Result<CopyObjectResult> where S1: AsRef<str>, S2: AsRef<str>, S3: AsRef<str>, S4: AsRef<str>; fn delete_object<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<DeleteObjectOptions>, ) -> Result<DeleteObjectResult> where S1: AsRef<str>, S2: AsRef<str>; fn delete_multiple_objects<S1, S2>( &self, bucket_name: S1, config: DeleteMultipleObjectsConfig<'_, S2>, ) -> Result<DeleteMultipleObjectsResult> where S1: AsRef<str>, S2: AsRef<str>; fn restore_object<S1, S2>( &self, bucket_name: S1, object_key: S2, config: RestoreObjectRequest, ) -> Result<RestoreObjectResult> where S1: AsRef<str>, S2: AsRef<str>; fn clean_restored_object<S1, S2>( &self, bucket_name: S1, object_key: S2, ) -> Result<()> where S1: AsRef<str>, S2: AsRef<str>;
}

Required Methods§

Source

fn put_object_from_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, P: AsRef<Path>,

Uploads a file to a specified bucket and object key.

Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject

Source

fn put_object_from_buffer<S1, S2, B>( &self, bucket_name: S1, object_key: S2, buffer: B, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, B: Into<Vec<u8>>,

Create an object from buffer. If you are going to upload a large file, it is recommended to use upload_file instead. And, it is recommended to set mime_type in options

Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject

Source

fn put_object_from_base64<S1, S2, S3>( &self, bucket_name: S1, object_key: S2, base64_string: S3, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, S3: AsRef<str>,

Create an object from base64 string. And, it is recommended to set mime_type in options

Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject

Source

fn append_object_from_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, P: AsRef<Path>,

Source

fn append_object_from_buffer<S1, S2, B>( &self, bucket_name: S1, object_key: S2, buffer: B, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, B: Into<Vec<u8>>,

Append object from buffer. suitable for small size content And, it is recommended to set mime_type in options

Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject

Source

fn append_object_from_base64<S1, S2, S3>( &self, bucket_name: S1, object_key: S2, base64_string: S3, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, S3: AsRef<str>,

Append object from base64 string. suitable for small size content And, it is recommended to set mime_type in options

Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject

Source

fn get_object_to_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, options: Option<GetObjectOptions>, ) -> Result<GetObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, P: AsRef<Path>,

Uploads a file to a specified bucket and object key.

Official document: https://help.aliyun.com/zh/oss/developer-reference/getobject

Source

fn get_object_to_buffer<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectOptions>, ) -> Result<Vec<u8>>
where S1: AsRef<str> + Send, S2: AsRef<str> + Send,

Get object content into memory (bytes array).

Large files can consume significant memory, exercise caution when using this function.

Source

fn create_folder<S1, S2>(&self, bucket_name: S1, object_key: S2) -> Result<()>
where S1: AsRef<str>, S2: AsRef<str>,

Create a “folder”

Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject

Source

fn delete_folder<S1, S2>(&self, bucket_name: S1, object_key: S2) -> Result<()>
where S1: AsRef<str>, S2: AsRef<str>,

Delete a “folder”. if the folder contains any object, it will not be deleted

Official document: https://help.aliyun.com/zh/oss/developer-reference/deleteobject

Source

fn get_object_metadata<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Result<ObjectMetadata>
where S1: AsRef<str>, S2: AsRef<str>,

Source

fn exists<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Result<bool>
where S1: AsRef<str>, S2: AsRef<str>,

Check if the object exists or not using get object metadata

Official document: https://help.aliyun.com/zh/oss/developer-reference/getobjectmeta

Source

fn head_object<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<HeadObjectOptions>, ) -> Result<ObjectMetadata>
where S1: AsRef<str>, S2: AsRef<str>,

Source

fn copy_object<S1, S2, S3, S4>( &self, source_bucket_name: S1, source_object_key: S2, dest_bucket_name: S3, dest_object_key: S4, options: Option<CopyObjectOptions>, ) -> Result<CopyObjectResult>
where S1: AsRef<str>, S2: AsRef<str>, S3: AsRef<str>, S4: AsRef<str>,

Copy files (Objects) between the same or different Buckets within the same region.

Official document: https://help.aliyun.com/zh/oss/developer-reference/copyobject

Source

fn delete_object<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<DeleteObjectOptions>, ) -> Result<DeleteObjectResult>
where S1: AsRef<str>, S2: AsRef<str>,

Source

fn delete_multiple_objects<S1, S2>( &self, bucket_name: S1, config: DeleteMultipleObjectsConfig<'_, S2>, ) -> Result<DeleteMultipleObjectsResult>
where S1: AsRef<str>, S2: AsRef<str>,

Source

fn restore_object<S1, S2>( &self, bucket_name: S1, object_key: S2, config: RestoreObjectRequest, ) -> Result<RestoreObjectResult>
where S1: AsRef<str>, S2: AsRef<str>,

Source

fn clean_restored_object<S1, S2>( &self, bucket_name: S1, object_key: S2, ) -> Result<()>
where S1: AsRef<str>, S2: AsRef<str>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§