[−][src]Struct s3::bucket::Bucket
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = "rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials);
Fields
name: Stringregion: Regioncredentials: Credentialsextra_headers: Headersextra_query: QueryMethods
impl Bucket[src]
pub fn new(
name: &str,
region: Region,
credentials: Credentials
) -> S3Result<Bucket>[src]
name: &str,
region: Region,
credentials: Credentials
) -> S3Result<Bucket>
Instantiate a new Bucket.
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = "rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap();
pub fn get_object(&self, path: &str) -> S3Result<(Vec<u8>, u32)>[src]
Gets file from an S3 path.
Example:
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = "rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let (data, code) = bucket.get_object("/test.file").unwrap(); println!("Code: {}\nData: {:?}", code, data);
pub fn location(&self) -> S3Result<(Region, u32)>[src]
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = "rust-s3-test"; let region = "eu-central-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); println!("{}", bucket.location().unwrap().0)
pub fn delete_object(&self, path: &str) -> S3Result<(Vec<u8>, u32)>[src]
Delete file from an S3 path.
Example:
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = &"rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let (_, code) = bucket.delete_object("/test.file").unwrap(); assert_eq!(204, code);
pub fn put_object(
&self,
path: &str,
content: &[u8],
content_type: &str
) -> S3Result<(Vec<u8>, u32)>[src]
&self,
path: &str,
content: &[u8],
content_type: &str
) -> S3Result<(Vec<u8>, u32)>
Put into an S3 bucket.
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = &"rust-s3-test"; let aws_access = &"access_key"; let aws_secret = &"secret_key"; let bucket_name = &"rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let content = "I want to go to S3".as_bytes(); let (_, code) = bucket.put_object("/test.file", content, "text/plain").unwrap(); assert_eq!(201, code);
pub fn put_object_tagging(
&self,
path: &str,
tags: &[(&str, &str)]
) -> S3Result<(Vec<u8>, u32)>[src]
&self,
path: &str,
tags: &[(&str, &str)]
) -> S3Result<(Vec<u8>, u32)>
Tag an S3 object.
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = &"rust-s3-test"; let aws_access = &"access_key"; let aws_secret = &"secret_key"; let bucket_name = &"rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let (_, code) = bucket.put_object_tagging("/test.file", &[("Tag1", "Value1"), ("Tag2", "Value2")]).unwrap(); assert_eq!(201, code);
pub fn delete_object_tagging(&self, path: &str) -> S3Result<(Vec<u8>, u32)>[src]
Delete tags from an S3 object.
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = &"rust-s3-test"; let aws_access = &"access_key"; let aws_secret = &"secret_key"; let bucket_name = &"rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let (_, code) = bucket.delete_object_tagging("/test.file").unwrap(); assert_eq!(201, code);
pub fn get_object_tagging(&self, path: &str) -> S3Result<(Option<Tagging>, u32)>[src]
Retrieve an S3 object list of tags.
Example
use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = &"rust-s3-test"; let aws_access = &"access_key"; let aws_secret = &"secret_key"; let bucket_name = &"rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let (tags, code) = bucket.get_object_tagging("/test.file").unwrap(); if code == 200 { for tag in tags.expect("No tags found").tag_set { println!("{}={}", tag.key(), tag.value()); } }
pub fn list(
&self,
prefix: &str,
delimiter: Option<&str>
) -> S3Result<Vec<(ListBucketResult, u32)>>[src]
&self,
prefix: &str,
delimiter: Option<&str>
) -> S3Result<Vec<(ListBucketResult, u32)>>
List the contents of an S3 bucket.
Example
use std::str; use s3::bucket::Bucket; use s3::credentials::Credentials; let bucket_name = &"rust-s3-test"; let aws_access = &"access_key"; let aws_secret = &"secret_key"; let bucket_name = &"rust-s3-test"; let region = "us-east-1".parse().unwrap(); let credentials = Credentials::default(); let bucket = Bucket::new(bucket_name, region, credentials).unwrap(); let results = bucket.list("/", Some("/")).unwrap(); for (list, code) in results { assert_eq!(200, code); println!("{:?}", list); }
pub fn name(&self) -> String[src]
Get a reference to the name of the S3 bucket.
pub fn host(&self) -> String[src]
Get a reference to the hostname of the S3 API endpoint.
pub fn self_host(&self) -> String[src]
pub fn scheme(&self) -> String[src]
pub fn region(&self) -> Region[src]
Get the region this object will connect to.
pub fn access_key(&self) -> String[src]
Get a reference to the AWS access key.
pub fn secret_key(&self) -> String[src]
Get a reference to the AWS secret key.
pub fn token(&self) -> Option<&str>[src]
Get a reference to the AWS token.
pub fn credentials(&self) -> &Credentials[src]
Get a reference to the full Credentials
object used by this Bucket.
pub fn set_credentials(&mut self, credentials: Credentials) -> Credentials[src]
Change the credentials used by the Bucket, returning the existing credentials.
pub fn add_header(&mut self, key: &str, value: &str)[src]
Add an extra header to send with requests to S3.
Add an extra header to send with requests. Note that the library already sets a number of headers - headers set with this method will be overridden by the library headers:
- Host
- Content-Type
- Date
- Content-Length
- Authorization
- X-Amz-Content-Sha256
- X-Amz-Date
pub fn extra_headers(&self) -> &Headers[src]
Get a reference to the extra headers to be passed to the S3 API.
pub fn extra_headers_mut(&mut self) -> &mut Headers[src]
Get a mutable reference to the extra headers to be passed to the S3 API.
pub fn add_query(&mut self, key: &str, value: &str)[src]
Add an extra query pair to the URL used for S3 API access.
pub fn extra_query(&self) -> &Query[src]
Get a reference to the extra query pairs to be passed to the S3 API.
pub fn extra_query_mut(&mut self) -> &mut Query[src]
Get a mutable reference to the extra query pairs to be passed to the S3 API.
Trait Implementations
impl PartialEq<Bucket> for Bucket[src]
impl Clone for Bucket[src]
fn clone(&self) -> Bucket[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Eq for Bucket[src]
impl Debug for Bucket[src]
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T> From for T[src]
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Same for T
type Output = T
Should always be Self
impl<Q, K> Equivalent for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool[src]
impl<T> Erased for T
impl<T, U> TryInto for T where
U: TryFrom<T>,
U: TryFrom<T>,