Struct rusty_s3::Bucket [−][src]
pub struct Bucket { /* fields omitted */ }
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
Construct a new S3 bucket
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.
Create a new bucket.
See CreateBucket
for more details.
Delete a bucket.
See DeleteBucket
for more details.
pub 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.
pub 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.
pub fn list_objects_v2<'a>(
&'a self,
credentials: Option<&'a Credentials>
) -> ListObjectsV2<'a>
pub fn list_objects_v2<'a>(
&'a self,
credentials: Option<&'a Credentials>
) -> ListObjectsV2<'a>
List all objects in the bucket.
See ListObjectsV2
for more details.
pub 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.
pub 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.
pub fn delete_objects<'a, I>(
&'a self,
credentials: Option<&'a Credentials>,
objects: I
) -> DeleteObjects<'a, I>
pub fn delete_objects<'a, I>(
&'a self,
credentials: Option<&'a Credentials>,
objects: I
) -> DeleteObjects<'a, I>
Delete multiple objects from S3 using a single POST
request.
See DeleteObjects
for more details.
pub fn create_multipart_upload<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str
) -> CreateMultipartUpload<'a>
pub fn create_multipart_upload<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str
) -> CreateMultipartUpload<'a>
Create a multipart upload.
See CreateMultipartUpload
for more details.
pub 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.
pub fn complete_multipart_upload<'a, I>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
upload_id: &'a str,
etags: I
) -> CompleteMultipartUpload<'a, I>
pub fn complete_multipart_upload<'a, I>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
upload_id: &'a str,
etags: I
) -> CompleteMultipartUpload<'a, I>
Complete a multipart upload.
See CompleteMultipartUpload
for more details.
pub 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.
pub fn list_parts<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
upload_id: &'a str
) -> ListParts<'a>
pub fn list_parts<'a>(
&'a self,
credentials: Option<&'a Credentials>,
object: &'a str,
upload_id: &'a str
) -> ListParts<'a>
Lists the parts that have been uploaded for a specific multipart upload.
See ListParts
for more details.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Bucket
impl UnwindSafe for Bucket
Blanket Implementations
Mutably borrows from an owned value. Read more