Module mini_s3

Data Types

bucket_access_type()

bucket_access_type() = virtual_domain | path

bucket_acl()

bucket_acl() = private | public_read | public_read_write | authenticated_read | bucket_owner_read | bucket_owner_full_control

bucket_attribute_name()

bucket_attribute_name() = acl | location | logging | request_payment | versioning

config()

abstract datatype: config()

location_constraint()

location_constraint() = none | us_west_1 | eu

settable_bucket_attribute_name()

settable_bucket_attribute_name() = acl | logging | request_payment | versioning

Function Index

copy_object/5
copy_object/6
create_bucket/3
create_bucket/4
delete_bucket/1
delete_bucket/2
delete_object/2
delete_object/3
delete_object_version/3
delete_object_version/4
expiration_time/1Number of seconds since the Epoch that a request can be valid for, specified by TimeToLive, which is the number of seconds from "right now" that a request should be valid.
format_s3_uri/2
get_bucket_attribute/2
get_bucket_attribute/3
get_object/3
get_object/4
get_object_acl/2
get_object_acl/3
get_object_acl/4
get_object_metadata/3
get_object_metadata/4
get_object_torrent/2
get_object_torrent/3
list_buckets/0
list_buckets/1
list_object_versions/2
list_object_versions/3
list_objects/2
list_objects/3
make_authorization/10
make_signed_url_authorization/5
manual_start/0
new/2
new/3
new/4
new/5
put_object/5
put_object/6
s3_url/6Generate an S3 URL using Query String Request Authentication (see http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationQueryStringAuth for details).
set_bucket_attribute/3
set_bucket_attribute/4
set_object_acl/3
set_object_acl/4
universaltime/0

Function Details

copy_object/5

copy_object(DestBucketName::string(), DestKeyName::string(), SrcBucketName::string(), SrcKeyName::string(), Options::proplists:proplist()) -> proplists:proplist()

copy_object/6

copy_object(DestBucketName::string(), DestKeyName::string(), SrcBucketName::string(), SrcKeyName::string(), Options::proplists:proplist(), Config::config()) -> proplists:proplist()

create_bucket/3

create_bucket(BucketName::string(), ACL::bucket_acl(), LocationConstraint::location_constraint()) -> ok

create_bucket/4

create_bucket(BucketName::string(), ACL::bucket_acl(), LocationConstraint::location_constraint(), Config::config()) -> ok

delete_bucket/1

delete_bucket(BucketName::string()) -> ok

delete_bucket/2

delete_bucket(BucketName::string(), Config::config()) -> ok

delete_object/2

delete_object(BucketName::string(), Key::string()) -> proplists:proplist()

delete_object/3

delete_object(BucketName::string(), Key::string(), Config::config()) -> proplists:proplist()

delete_object_version/3

delete_object_version(BucketName::string(), Key::string(), Version::string()) -> proplists:proplist()

delete_object_version/4

delete_object_version(BucketName::string(), Key::string(), Version::string(), Config::config()) -> proplists:proplist()

expiration_time/1

expiration_time(TimeToLive::non_neg_integer() | {non_neg_integer(), non_neg_integer()}) -> Expires::non_neg_integer()

Number of seconds since the Epoch that a request can be valid for, specified by TimeToLive, which is the number of seconds from "right now" that a request should be valid. If the argument provided is a tuple, we use the interval logic that will only result in Interval / 86400 unique expiration times per day

format_s3_uri/2

format_s3_uri(Config::config(), Host::string()) -> string()

get_bucket_attribute/2

get_bucket_attribute(BucketName::string(), AttributeName::bucket_attribute_name()) -> term()

get_bucket_attribute/3

get_bucket_attribute(BucketName::string(), AttributeName::bucket_attribute_name(), Config::config()) -> term()

get_object/3

get_object(BucketName::string(), Key::string(), Options::proplists:proplist()) -> proplists:proplist()

get_object/4

get_object(BucketName::string(), Key::string(), Options::proplists:proplist(), Config::config()) -> proplists:proplist()

get_object_acl/2

get_object_acl(BucketName::string(), Key::string()) -> proplists:proplist()

get_object_acl/3

get_object_acl(BucketName::string(), Key::string(), Config::proplists:proplist() | config()) -> proplists:proplist()

get_object_acl/4

get_object_acl(BucketName::string(), Key::string(), Options::proplists:proplist(), Config::config()) -> proplists:proplist()

get_object_metadata/3

get_object_metadata(BucketName::string(), Key::string(), Options::proplists:proplist()) -> proplists:proplist()

get_object_metadata/4

get_object_metadata(BucketName::string(), Key::string(), Options::proplists:proplist(), Config::config()) -> proplists:proplist()

get_object_torrent/2

get_object_torrent(BucketName::string(), Key::string()) -> proplists:proplist()

get_object_torrent/3

get_object_torrent(BucketName::string(), Key::string(), Config::config()) -> proplists:proplist()

list_buckets/0

list_buckets() -> proplists:proplist()

list_buckets/1

list_buckets(Config::config()) -> proplists:proplist()

list_object_versions/2

list_object_versions(BucketName::string(), Options::proplists:proplist()) -> proplists:proplist()

list_object_versions/3

list_object_versions(BucketName::string(), Options::proplists:proplist(), Config::config()) -> proplists:proplist()

list_objects/2

list_objects(BucketName::string(), Options::proplists:proplist()) -> proplists:proplist()

list_objects/3

list_objects(BucketName::string(), Options::proplists:proplist(), Config::config()) -> proplists:proplist()

make_authorization/10

make_authorization(AccessKeyId, SecretKey, Method, ContentMD5, ContentType, Date, AmzHeaders, Host, Resource, Subresource) -> any()

make_signed_url_authorization/5

make_signed_url_authorization(SecretKey, Method, CanonicalizedResource, Expires, RawHeaders) -> any()

manual_start/0

manual_start() -> ok

new/2

new(AccessKeyID::string(), SecretAccessKey::string()) -> config()

new/3

new(AccessKeyID::string(), SecretAccessKey::string(), Host::string()) -> config()

new/4

new(AccessKeyID::string(), SecretAccessKey::string(), Host::string(), BucketAccessType::bucket_access_type()) -> config()

new/5

new(AccessKeyID::string(), SecretAccessKey::string(), Host::string(), BucketAccessType::bucket_access_type(), SslOpts::proplists:proplist()) -> config()

put_object/5

put_object(BucketName::string(), Key::string(), Value::iolist(), Options::proplists:proplist(), HTTPHeaders::[{string(), string()}]) -> [{version_id, term()}, ...]

put_object/6

put_object(BucketName::string(), Key::string(), Value::iolist(), Options::proplists:proplist(), HTTPHeaders::[{string(), string()}], Config::config()) -> [{version_id, term()}, ...]

s3_url/6

s3_url(Method::atom(), BucketName::string(), Key::string(), Lifetime::integer() | {integer(), integer()}, RawHeaders::proplists:proplist(), Config::config()) -> binary()

Generate an S3 URL using Query String Request Authentication (see http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationQueryStringAuth for details).

Note that this is **NOT** a complete implementation of the S3 Query String Request Authentication signing protocol. In particular, it does nothing with "x-amz-*" headers, nothing for virtual hosted buckets, and nothing for sub-resources. It currently works for relatively simple use cases (e.g., providing URLs to which third-parties can upload specific files).

Consult the official documentation (linked above) if you wish to augment this function's capabilities.

set_bucket_attribute/3

set_bucket_attribute(BucketName::string(), AttributeName::settable_bucket_attribute_name(), Value::bucket_owner | requester | [any()]) -> ok

set_bucket_attribute/4

set_bucket_attribute(BucketName::string(), AttributeName::settable_bucket_attribute_name(), Value::bucket_owner | requester | [any()], Config::config()) -> ok

set_object_acl/3

set_object_acl(BucketName::string(), Key::string(), ACL::proplists:proplist()) -> ok

set_object_acl/4

set_object_acl(BucketName::string(), Key::string(), ACL::proplists:proplist(), Config::config()) -> ok

universaltime/0

universaltime() -> calendar:datetime()


Generated by EDoc