s3put(1) Write an S3 item

SYNOPSIS

s3put [options] [ bucket/item ...]


Options:
--access-key AWS Access Key ID
--secret-key AWS Secret Access Key
Environment:
AWS_ACCESS_KEY_ID
AWS_ACCESS_KEY_SECRET

OPTIONS

--help
Print a brief help message and exits.
--man
Prints the manual page and exits.
--verbose
Output what is being done as it is done.
--access-key and --secret-key
Specify the ``AWS Access Key Identifiers'' for the AWS account. --access-key is the ``Access Key ID'', and --secret-key is the ``Secret Access Key''. These are effectively the ``username'' and ``password'' to the AWS account, and should be kept confidential.

The access keys MUST be specified, either via these command line parameters, or via the AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET environment variables.

Specifying them on the command line overrides the environment variables.

--secure
Uses SSL/TLS HTTPS to communicate with the AWS service, instead of HTTP.

ENVIRONMENT VARIABLES

AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET
Specify the ``AWS Access Key Identifiers'' for the AWS account. AWS_ACCESS_KEY_ID contains the ``Access Key ID'', and AWS_ACCESS_KEY_SECRET contains the ``Secret Access Key''. These are effectively the ``username'' and ``password'' to the AWS service, and should be kept confidential.

The access keys MUST be specified, either via these environment variables, or via the --access-key and --secret-key command line parameters.

If the command line parameters are set, they override these environment variables.

CONFIGURATION FILE

The configuration options will be read from the file "~/.s3-tools" if it exists. The format is the same as the command line options with one option per line. For example, the file could contain:

    --access-key <AWS access key>
    --secret-key <AWS secret key>
    --secure

This example configuration file would specify the AWS access keys and that a secure connection using HTTPS should be used for all communications.

DESCRIPTION

Reads stdin, and writes it to an S3 item

BUGS

Report bugs to Mark Atwood [email protected].

Occasionally the S3 service will randomly fail for no externally apparent reason. When that happens, this tool should retry, with a delay and a backoff.

Access to the S3 service can be authenticated with a X.509 certificate, instead of via the ``AWS Access Key Identifiers''. This tool should support that.

It might be useful to be able to specify the ``AWS Access Key Identifiers'' in the user's "~/.netrc" file. This tool should support that.

Errors and warnings are very ``Perl-ish'', and can be confusing.

Trying to write to a bucket that does not exist or is not accessible by the user generates less than helpful error messages.

Trying to put a bucket instead of an item is silently skipped.

TODO

  option to read from files instead of stdin
  use the fs mtime to set the http Last-Modified
  option to read filenames to read from, from stdin
  option to read from a tar file stream, for multiple items
  option to magically guess mime type
  option to use extended file attributes for metadata
  option to have a progress bar

AUTHOR

Written by Mark Atwood [email protected].

Many thanks to Wotan LLC <http://wotanllc.com>, for supporting the development of these S3 tools.

Many thanks to the Amazon AWS engineers for developing S3.