Skip to main content

ObjectOperations

Trait ObjectOperations 

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

Required Methods§

Source

fn put_object_from_file<'life0, 'async_trait, S1, S2, P>( &'life0 self, bucket_name: S1, object_key: S2, file_path: P, options: Option<PutObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<PutObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, P: AsRef<Path> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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<'life0, 'async_trait, S1, S2, B>( &'life0 self, bucket_name: S1, object_key: S2, buffer: B, options: Option<PutObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<PutObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, B: Into<Vec<u8>> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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<'life0, 'async_trait, S1, S2, S3>( &'life0 self, bucket_name: S1, object_key: S2, base64_string: S3, options: Option<PutObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<PutObjectResult>> + 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,

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<'life0, 'async_trait, S1, S2, P>( &'life0 self, bucket_name: S1, object_key: S2, file_path: P, position: u64, options: Option<AppendObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<AppendObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, P: AsRef<Path> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Source

fn append_object_from_buffer<'life0, 'async_trait, S1, S2, B>( &'life0 self, bucket_name: S1, object_key: S2, buffer: B, position: u64, options: Option<AppendObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<AppendObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, B: Into<Vec<u8>> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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<'life0, 'async_trait, S1, S2, S3>( &'life0 self, bucket_name: S1, object_key: S2, base64_string: S3, position: u64, options: Option<AppendObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<AppendObjectResult>> + 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,

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<'life0, 'async_trait, S1, S2, P>( &'life0 self, bucket_name: S1, object_key: S2, file_path: P, options: Option<GetObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<GetObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, P: AsRef<Path> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Download object to local file

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

Source

fn get_object_to_buffer<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, options: Option<GetObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get object content into memory (bytes array).

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

Source

fn create_folder<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Create a “folder”

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

Source

fn delete_folder<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Pin<Box<dyn Future<Output = Result<ObjectMetadata>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Source

fn exists<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, options: Option<HeadObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<ObjectMetadata>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Source

fn copy_object<'life0, 'async_trait, S1, S2, S3, S4>( &'life0 self, source_bucket_name: S1, source_object_key: S2, dest_bucket_name: S3, dest_object_key: S4, options: Option<CopyObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<CopyObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, S3: AsRef<str> + Send + 'async_trait, S4: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, options: Option<DeleteObjectOptions>, ) -> Pin<Box<dyn Future<Output = Result<DeleteObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Source

fn delete_multiple_objects<'c, 'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, config: DeleteMultipleObjectsConfig<'c, S2>, ) -> Pin<Box<dyn Future<Output = Result<DeleteMultipleObjectsResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + Sync + 'async_trait, Self: 'async_trait, 'c: 'async_trait, 'life0: 'async_trait,

Source

fn restore_object<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, config: RestoreObjectRequest, ) -> Pin<Box<dyn Future<Output = Result<RestoreObjectResult>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Source

fn clean_restored_object<'life0, 'async_trait, S1, S2>( &'life0 self, bucket_name: S1, object_key: S2, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S1: AsRef<str> + Send + 'async_trait, S2: AsRef<str> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

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§