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§
Sourcefn 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>>
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>>
Uploads a file to a specified bucket and object key.
Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject
Sourcefn 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>>
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>>
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
Sourcefn 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>>
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>>
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
Sourcefn 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>>
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>>
Append object.
Official document: https://help.aliyun.com/zh/oss/developer-reference/appendobject
Sourcefn 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>>
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>>
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
Sourcefn 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>>
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>>
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
Sourcefn 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>>
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>>
Download object to local file
Official document: https://help.aliyun.com/zh/oss/developer-reference/getobject
Sourcefn 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>>
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>>
Get object content into memory (bytes array).
Large files can consume significant memory, exercise caution when using this function.
Sourcefn create_folder<'life0, 'async_trait, S1, S2>(
&'life0 self,
bucket_name: S1,
object_key: S2,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + '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>>
Create a “folder”
Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject
Sourcefn delete_folder<'life0, 'async_trait, S1, S2>(
&'life0 self,
bucket_name: S1,
object_key: S2,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + '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>>
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
Sourcefn 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>>
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>>
Get object metadata
Official document: https://help.aliyun.com/zh/oss/developer-reference/getobjectmeta
Sourcefn 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>>
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>>
Check if the object exists or not using get object metadata
Official document: https://help.aliyun.com/zh/oss/developer-reference/getobjectmeta
Sourcefn 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>>
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>>
Head object
Official document: https://help.aliyun.com/zh/oss/developer-reference/headobject
Sourcefn 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>>
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>>
Copy files (Objects) between the same or different Buckets within the same region.
Official document: https://help.aliyun.com/zh/oss/developer-reference/copyobject
Sourcefn 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>>
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>>
Delete an object
Official document: https://help.aliyun.com/zh/oss/developer-reference/deleteobject
Sourcefn 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>>
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>>
Delete multiple objects
Official document: https://help.aliyun.com/zh/oss/developer-reference/deletemultipleobjects
Sourcefn 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>>
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>>
Restore object
Official document: https://help.aliyun.com/zh/oss/developer-reference/restoreobject
Sourcefn 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>>
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>>
Clean retored object
Official document: https://help.aliyun.com/zh/oss/developer-reference/cleanrestoredobject
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.