pub struct Bucket { /* private fields */ }Expand description
An S3 bucket
§Path style url
let endpoint = "https://s3.dualstack.eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
let path_style = UrlStyle::Path;
let name = "rusty-s3";
let region = "eu-west-1";
let bucket = Bucket::new(endpoint, path_style, name, region).expect("Url has a valid scheme and host");
assert_eq!(bucket.base_url().as_str(), "https://s3.dualstack.eu-west-1.amazonaws.com/rusty-s3/");
assert_eq!(bucket.name(), "rusty-s3");
assert_eq!(bucket.region(), "eu-west-1");
assert_eq!(bucket.object_url("duck.jpg").expect("url is valid").as_str(), "https://s3.dualstack.eu-west-1.amazonaws.com/rusty-s3/duck.jpg");§Domain style url
let endpoint = "https://s3.dualstack.eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
let path_style = UrlStyle::VirtualHost;
let name = "rusty-s3";
let region = "eu-west-1";
let bucket = Bucket::new(endpoint, path_style, name, region).expect("Url has a valid scheme and host");
assert_eq!(bucket.base_url().as_str(), "https://rusty-s3.s3.dualstack.eu-west-1.amazonaws.com/");
assert_eq!(bucket.name(), "rusty-s3");
assert_eq!(bucket.region(), "eu-west-1");
assert_eq!(bucket.object_url("duck.jpg").expect("url is valid").as_str(), "https://rusty-s3.s3.dualstack.eu-west-1.amazonaws.com/duck.jpg");Implementations§
Source§impl Bucket
impl Bucket
Sourcepub fn new(
endpoint: Url,
path_style: UrlStyle,
name: impl Into<Cow<'static, str>>,
region: impl Into<Cow<'static, str>>,
) -> Result<Bucket, BucketError>
pub fn new( endpoint: Url, path_style: UrlStyle, name: impl Into<Cow<'static, str>>, region: impl Into<Cow<'static, str>>, ) -> Result<Bucket, BucketError>
Construct a new S3 bucket
Sourcepub fn object_url(&self, object: &str) -> Result<Url, ParseError>
pub fn object_url(&self, object: &str) -> Result<Url, ParseError>
Generate an url to an object of this Bucket
This is not a signed url, it’s just the starting point for generating an url to an S3 object.
Source§impl Bucket
impl Bucket
Sourcepub fn create_bucket<'a>(
&'a self,
credentials: &'a Credentials,
) -> CreateBucket<'a>
pub fn create_bucket<'a>( &'a self, credentials: &'a Credentials, ) -> CreateBucket<'a>
Create a new bucket.
See CreateBucket for more details.
Sourcepub fn delete_bucket<'a>(
&'a self,
credentials: &'a Credentials,
) -> DeleteBucket<'a>
pub fn delete_bucket<'a>( &'a self, credentials: &'a Credentials, ) -> DeleteBucket<'a>
Delete a bucket.
See DeleteBucket for more details.
Source§impl Bucket
impl Bucket
Sourcepub fn head_object<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
) -> HeadObject<'a>
pub fn head_object<'a>( &'a self, credentials: Option<&'a Credentials>, object: &'a str, ) -> HeadObject<'a>
Retrieve an object’s metadata from S3, using a HEAD request.
See HeadObject for more details.
Sourcepub fn head_bucket<'a>(
&'a self,
credentials: Option<&'a Credentials>,
) -> HeadBucket<'a>
pub fn head_bucket<'a>( &'a self, credentials: Option<&'a Credentials>, ) -> HeadBucket<'a>
Retrieve an bucket’s metadata from S3, using a HEAD request.
See HeadBucket for more details.
Sourcepub fn get_object<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
) -> GetObject<'a>
pub fn get_object<'a>( &'a self, credentials: Option<&'a Credentials>, object: &'a str, ) -> GetObject<'a>
Retrieve an object from S3, using a GET request.
See GetObject for more details.
Sourcepub fn put_object<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
) -> PutObject<'a>
pub fn put_object<'a>( &'a self, credentials: Option<&'a Credentials>, object: &'a str, ) -> PutObject<'a>
Upload a file to S3, using a PUT request.
See PutObject for more details.
Sourcepub fn delete_object<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
) -> DeleteObject<'a>
pub fn delete_object<'a>( &'a self, credentials: Option<&'a Credentials>, object: &'a str, ) -> DeleteObject<'a>
Delete an object from S3, using a DELETE request.
See DeleteObject for more details.
Source§impl Bucket
impl Bucket
Sourcepub fn upload_part<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
part_number: u16,
upload_id: &'a str,
) -> UploadPart<'a>
pub fn upload_part<'a>( &'a self, credentials: Option<&'a Credentials>, object: &'a str, part_number: u16, upload_id: &'a str, ) -> UploadPart<'a>
Upload a part to a previously created multipart upload.
See UploadPart for more details.
Sourcepub fn abort_multipart_upload<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
upload_id: &'a str,
) -> AbortMultipartUpload<'a>
pub fn abort_multipart_upload<'a>( &'a self, credentials: Option<&'a Credentials>, object: &'a str, upload_id: &'a str, ) -> AbortMultipartUpload<'a>
Abort multipart upload.
See AbortMultipartUpload for more details.
Trait Implementations§
impl Eq for Bucket
impl StructuralPartialEq for Bucket
Auto Trait Implementations§
impl Freeze for Bucket
impl RefUnwindSafe for Bucket
impl Send for Bucket
impl Sync for Bucket
impl Unpin for Bucket
impl UnwindSafe for Bucket
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
self to key and returns true if they are equal.