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§
Sourcefn put_object_from_file<S1, S2, P>(
&self,
bucket_name: S1,
object_key: S2,
file_path: P,
options: Option<PutObjectOptions>,
) -> Result<PutObjectResult>
fn put_object_from_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult>
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<S1, S2, B>(
&self,
bucket_name: S1,
object_key: S2,
buffer: B,
options: Option<PutObjectOptions>,
) -> Result<PutObjectResult>
fn put_object_from_buffer<S1, S2, B>( &self, bucket_name: S1, object_key: S2, buffer: B, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult>
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<S1, S2, S3>(
&self,
bucket_name: S1,
object_key: S2,
base64_string: S3,
options: Option<PutObjectOptions>,
) -> Result<PutObjectResult>
fn put_object_from_base64<S1, S2, S3>( &self, bucket_name: S1, object_key: S2, base64_string: S3, options: Option<PutObjectOptions>, ) -> Result<PutObjectResult>
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<S1, S2, P>(
&self,
bucket_name: S1,
object_key: S2,
file_path: P,
position: u64,
options: Option<AppendObjectOptions>,
) -> Result<AppendObjectResult>
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>
Append object.
Official document: https://help.aliyun.com/zh/oss/developer-reference/appendobject
Sourcefn append_object_from_buffer<S1, S2, B>(
&self,
bucket_name: S1,
object_key: S2,
buffer: B,
position: u64,
options: Option<AppendObjectOptions>,
) -> Result<AppendObjectResult>
fn append_object_from_buffer<S1, S2, B>( &self, bucket_name: S1, object_key: S2, buffer: B, position: u64, options: Option<AppendObjectOptions>, ) -> Result<AppendObjectResult>
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<S1, S2, S3>(
&self,
bucket_name: S1,
object_key: S2,
base64_string: S3,
position: u64,
options: Option<AppendObjectOptions>,
) -> Result<AppendObjectResult>
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>
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<S1, S2, P>(
&self,
bucket_name: S1,
object_key: S2,
file_path: P,
options: Option<GetObjectOptions>,
) -> Result<GetObjectResult>
fn get_object_to_file<S1, S2, P>( &self, bucket_name: S1, object_key: S2, file_path: P, options: Option<GetObjectOptions>, ) -> Result<GetObjectResult>
Uploads a file to a specified bucket and object key.
Official document: https://help.aliyun.com/zh/oss/developer-reference/getobject
Sourcefn get_object_to_buffer<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
options: Option<GetObjectOptions>,
) -> Result<Vec<u8>>
fn get_object_to_buffer<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectOptions>, ) -> Result<Vec<u8>>
Get object content into memory (bytes array).
Large files can consume significant memory, exercise caution when using this function.
Sourcefn create_folder<S1, S2>(&self, bucket_name: S1, object_key: S2) -> Result<()>
fn create_folder<S1, S2>(&self, bucket_name: S1, object_key: S2) -> Result<()>
Create a “folder”
Official document: https://help.aliyun.com/zh/oss/developer-reference/putobject
Sourcefn delete_folder<S1, S2>(&self, bucket_name: S1, object_key: S2) -> Result<()>
fn delete_folder<S1, S2>(&self, bucket_name: S1, object_key: S2) -> Result<()>
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<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
options: Option<GetObjectMetadataOptions>,
) -> Result<ObjectMetadata>
fn get_object_metadata<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Result<ObjectMetadata>
Get object metadata
Official document: https://help.aliyun.com/zh/oss/developer-reference/getobjectmeta
Sourcefn exists<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
options: Option<GetObjectMetadataOptions>,
) -> Result<bool>
fn exists<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<GetObjectMetadataOptions>, ) -> Result<bool>
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<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
options: Option<HeadObjectOptions>,
) -> Result<ObjectMetadata>
fn head_object<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<HeadObjectOptions>, ) -> Result<ObjectMetadata>
Head object
Official document: https://help.aliyun.com/zh/oss/developer-reference/headobject
Sourcefn 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>
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>
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<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
options: Option<DeleteObjectOptions>,
) -> Result<DeleteObjectResult>
fn delete_object<S1, S2>( &self, bucket_name: S1, object_key: S2, options: Option<DeleteObjectOptions>, ) -> Result<DeleteObjectResult>
Delete an object
Official document: https://help.aliyun.com/zh/oss/developer-reference/deleteobject
Sourcefn delete_multiple_objects<S1, S2>(
&self,
bucket_name: S1,
config: DeleteMultipleObjectsConfig<'_, S2>,
) -> Result<DeleteMultipleObjectsResult>
fn delete_multiple_objects<S1, S2>( &self, bucket_name: S1, config: DeleteMultipleObjectsConfig<'_, S2>, ) -> Result<DeleteMultipleObjectsResult>
Delete multiple objects
Official document: https://help.aliyun.com/zh/oss/developer-reference/deletemultipleobjects
Sourcefn restore_object<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
config: RestoreObjectRequest,
) -> Result<RestoreObjectResult>
fn restore_object<S1, S2>( &self, bucket_name: S1, object_key: S2, config: RestoreObjectRequest, ) -> Result<RestoreObjectResult>
Restore object
Official document: https://help.aliyun.com/zh/oss/developer-reference/restoreobject
Sourcefn clean_restored_object<S1, S2>(
&self,
bucket_name: S1,
object_key: S2,
) -> Result<()>
fn clean_restored_object<S1, S2>( &self, bucket_name: S1, object_key: S2, ) -> Result<()>
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.