ExAws v1.0.0-beta1 ExAws.S3
Operations on AWS S3
Summary
Functions
Abort a multipart upload
Complete a multipart upload
Delete all listed objects
Delete a bucket
Delete a bucket cors
Delete a bucket lifecycle
Delete a bucket policy
Delete a bucket replication
Delete a bucket tagging
Delete a bucket website
Delete multiple objects within a bucket
Delete object object in bucket
Get bucket acl
Get bucket cors
Get bucket lifecycle
Get bucket location
Get bucket logging
Get bucket notification
Get bucket object versions
Get bucket policy
Get bucket replication
Get bucket payment configuration
Get bucket tagging
Get bucket versioning
Get bucket website
Get an object from a bucket
Get an object’s access control policy
Get a torrent for a bucket
Determine if a bucket exists
Determine of an object exists
Initiate a multipart upload
List buckets
List multipart uploads for a bucket
List objects in bucket
List the parts of a multipart upload
Determine the CORS configuration for an object
Restore an object to a particular version
Generates a pre-signed URL for this object
Creates a bucket. Same as create_bucket/2
Update or create a bucket bucket access control
Update or create a bucket CORS policy
Update or create a bucket lifecycle configuration
Update or create a bucket logging configuration
Update or create a bucket notification configuration
Update or create a bucket policy configuration
Update or create a bucket replication configuration
Update or create a bucket requestPayment configuration
Update or create a bucket tagging configuration
Update or create a bucket versioning configuration
Update or create a bucket website configuration
Create an object within a bucket
Create or update an object’s access control FIXME
Upload a part for a multipart upload
Upload a part for a multipart copy
Types
acl_opts :: [{:acl, canned_acl} | grant]
amz_meta_opts :: [{atom, binary} | {binary, binary}, ...]
canned_acl ::
:private |
:public_read |
:public_read_write |
:authenticated_read |
:bucket_owner_read |
:bucket_owner_full_control
customer_encryption_opts :: [customer_algorithm: binary, customer_key: binary, customer_key_md5: binary]
encryption_opts ::
binary |
[{:aws_kms_key_id, binary}] |
customer_encryption_opts
get_object_opts :: [{:response, get_object_response_opts} | head_object_opts]
get_object_response_opts :: [content_language: binary, expires: binary, cach_control: binary, content_disposition: binary, content_encoding: binary]
grant ::
{:grant_read, grantee} |
{:grant_read_acp, grantee} |
{:grant_write_acp, grantee} |
{:grant_full_control, grantee}
grantee :: [email: binary, id: binary, uri: binary]
head_object_opts :: [encryption: customer_encryption_opts, range: binary, if_modified_since: binary, if_unmodified_since: binary, if_match: binary, if_none_match: binary]
initiate_multipart_upload_opts :: [{:cache_control, binary} | {:content_disposition, binary} | {:content_encoding, binary} | {:content_type, binary} | {:expires, binary} | {:storage_class, :standard | :redunced_redundancy} | {:website_redirect_location, binary} | {:encryption, encryption_opts} | acl_opts]
list_objects_opts :: [delimiter: binary, marker: binary, prefix: binary, encoding_type: binary, max_keys: 0..1000]
presigned_url_opts :: [expires_in: integer, virtual_host: boolean]
pub_object_copy_opts :: [{:metadata_directive, :COPY | :REPLACE} | {:copy_source_if_modified_since, binary} | {:copy_source_if_unmodified_since, binary} | {:copy_source_if_match, binary} | {:copy_source_if_none_match, binary} | {:website_redirect_location, binary} | {:destination_encryption, encryption_opts} | {:source_encryption, customer_encryption_opts} | {:cache_control, binary} | {:content_disposition, binary} | {:content_encoding, binary} | {:content_length, binary} | {:content_type, binary} | {:expect, binary} | {:expires, binary} | {:storage_class, :standard | :redunced_redundancy} | {:website_redirect_location, binary} | {:meta, amz_meta_opts} | acl_opts]
put_object_opts :: [{:cache_control, binary} | {:content_disposition, binary} | {:content_encoding, binary} | {:content_length, binary} | {:content_type, binary} | {:expect, binary} | {:expires, binary} | {:storage_class, :standard | :redunced_redundancy} | {:website_redirect_location, binary} | {:encryption, encryption_opts} | {:meta, amz_meta_opts} | acl_opts]
upload_part_copy_opts :: [copy_source_range: Range.t, copy_source_if_modified_since: binary, copy_source_if_unmodified_since: binary, copy_source_if_match: binary, copy_source_if_none_match: binary, destination_encryption: encryption_opts, source_encryption: customer_encryption_opts]
Functions
Specs
abort_multipart_upload(bucket :: binary, object :: binary, upload_id :: binary) :: ExAws.Operation.S3.t
Abort a multipart upload
Specs
complete_multipart_upload(bucket :: binary, object :: binary, upload_id :: binary, parts :: [{binary | pos_integer, binary}, ...]) :: ExAws.Operation.S3.t
Complete a multipart upload
Specs
delete_all_objects(bucket :: binary, objects :: [binary | {binary, binary}, ...], opts :: [{:quiet, true}]) :: ExAws.Operation.S3DeleteAllObjects.t
Delete all listed objects.
When performed, this function will continue making delete_multiple_objects
requests deleting 1000 objects at a time until all are deleted.
Can be streamed.
Specs
delete_bucket_cors(bucket :: binary) :: ExAws.Operation.S3.t
Delete a bucket cors
Specs
delete_bucket_lifecycle(bucket :: binary) :: ExAws.Operation.S3.t
Delete a bucket lifecycle
Specs
delete_bucket_policy(bucket :: binary) :: ExAws.Operation.S3.t
Delete a bucket policy
Specs
delete_bucket_replication(bucket :: binary) :: ExAws.Operation.S3.t
Delete a bucket replication
Specs
delete_bucket_tagging(bucket :: binary) :: ExAws.Operation.S3.t
Delete a bucket tagging
Specs
delete_bucket_website(bucket :: binary) :: ExAws.Operation.S3.t
Delete a bucket website
Specs
delete_multiple_objects(bucket :: binary, objects :: [binary | {binary, binary}, ...], opts :: [{:quiet, true}]) :: ExAws.Operation.S3.t
Delete multiple objects within a bucket
Limited to 1000 objects.
Specs
get_bucket_acl(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket acl
Specs
get_bucket_cors(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket cors
Specs
get_bucket_lifecycle(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket lifecycle
Specs
get_bucket_location(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket location
Specs
get_bucket_logging(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket logging
Specs
get_bucket_notification(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket notification
Specs
get_bucket_object_versions(bucket :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t
Get bucket object versions
Specs
get_bucket_policy(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket policy
Specs
get_bucket_replication(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket replication
Specs
get_bucket_request_payment(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket payment configuration
Specs
get_bucket_tagging(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket tagging
Specs
get_bucket_versioning(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket versioning
Specs
get_bucket_website(bucket :: binary) :: ExAws.Operation.S3.t
Get bucket website
Specs
get_object(bucket :: binary, object :: binary, opts :: get_object_opts) :: ExAws.Operation.S3.t
Get an object from a bucket
Specs
get_object_acl(bucket :: binary, object :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t
Get an object’s access control policy
Specs
get_object_torrent(bucket :: binary, object :: binary) :: ExAws.Operation.S3.t
Get a torrent for a bucket
Specs
head_bucket(bucket :: binary) :: ExAws.Operation.S3.t
Determine if a bucket exists
Specs
head_object(bucket :: binary, object :: binary, opts :: head_object_opts) :: ExAws.Operation.S3.t
Determine of an object exists
Specs
initiate_multipart_upload(bucket :: binary, object :: binary, opts :: initiate_multipart_upload_opts) :: ExAws.Operation.S3.t
Initiate a multipart upload
Specs
list_multipart_uploads(bucket :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t
List multipart uploads for a bucket
Specs
list_objects(bucket :: binary, opts :: list_objects_opts) :: ExAws.Operation.S3.t
List objects in bucket
Can be streamed.
Specs
list_parts(bucket :: binary, object :: binary, upload_id :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t
List the parts of a multipart upload
Specs
options_object(bucket :: binary, object :: binary, origin :: binary, request_method :: atom, request_headers :: [binary]) :: ExAws.Operation.S3.t
Determine the CORS configuration for an object
Specs
post_object_restore(bucket :: binary, object :: binary, number_of_days :: pos_integer, opts :: [{:version_id, binary}]) :: ExAws.Operation.S3.t
Restore an object to a particular version
Specs
presigned_url(config :: %{}, http_method :: atom, bucket :: binary, object :: binary, opts :: presigned_url_opts) ::
{:ok, binary} |
{:error, binary}
Generates a pre-signed URL for this object.
When option param :virtual_host is true
, the {#bucket} name will be used as
the hostname. This will cause the returned URL to be ‘http’ and not ‘https’.
Specs
put_bucket_acl(bucket :: binary, opts :: acl_opts) :: ExAws.Operation.S3.t
Update or create a bucket bucket access control
Specs
put_bucket_cors(bucket :: binary, cors_config :: %{}) :: ExAws.Operation.S3.t
Update or create a bucket CORS policy
Specs
put_bucket_lifecycle(bucket :: binary, lifecycle_config :: %{}) :: no_return
Update or create a bucket lifecycle configuration
Specs
put_bucket_logging(bucket :: binary, logging_config :: %{}) :: no_return
Update or create a bucket logging configuration
Specs
put_bucket_notification(bucket :: binary, notification_config :: %{}) :: no_return
Update or create a bucket notification configuration
Specs
put_bucket_policy(bucket :: binary, policy :: %{}) :: ExAws.Operation.S3.t
Update or create a bucket policy configuration
Specs
put_bucket_replication(bucket :: binary, replication_config :: %{}) :: no_return
Update or create a bucket replication configuration
Specs
put_bucket_request_payment(bucket :: binary, payer :: :requester | :bucket_owner) :: no_return
Update or create a bucket requestPayment configuration
Specs
put_bucket_tagging(bucket :: binary, tags :: %{}) :: no_return
Update or create a bucket tagging configuration
Specs
put_bucket_versioning(bucket :: binary, version_config :: binary) :: no_return
Update or create a bucket versioning configuration
Specs
put_bucket_website(bucket :: binary, website_config :: binary) :: no_return
Update or create a bucket website configuration
Specs
put_object(bucket :: binary, object :: binary, body :: binary, opts :: put_object_opts) :: ExAws.Operation.S3.t
Create an object within a bucket
Specs
put_object_acl(bucket :: binary, object :: binary, acl :: acl_opts) :: ExAws.Operation.S3.t
Create or update an object’s access control FIXME
Specs
put_object_copy(dest_bucket :: binary, dest_object :: binary, src_bucket :: binary, src_object :: binary, opts :: pub_object_copy_opts) :: ExAws.Operation.S3.t
Copy an object
Specs
upload_part(bucket :: binary, object :: binary, upload_id :: binary, part_number :: pos_integer, body :: binary, opts :: [encryption_opts | {:expect, binary}]) :: ExAws.Operation.S3.t
Upload a part for a multipart upload
Specs
upload_part_copy(dest_bucket :: binary, dest_object :: binary, src_bucket :: binary, src_object :: binary, opts :: upload_part_copy_opts) :: ExAws.Operation.S3.t
Upload a part for a multipart copy