def compress_and_upload(data, compressed_file, s3_path, multipart_chunk_size_mb=<NUM_LIT>,<EOL>method='<STR_LIT>', delete=False, access_key=None, secret_key=None):
logger = log.get_logger('<STR_LIT>')<EOL>if all([access_key, secret_key]):<EOL><INDENT>configure(access_key=access_key, secret_key=secret_key, logger=logger)<EOL><DEDENT>compress(data, compressed_file, fmt=method, logger=logger)<EOL>put(compressed_file, s3_path, multipart_chunk_size_mb=multipart_chunk_size_mb, logger=logger)<EOL>if delete:<EOL><INDENT>os.unlink(compressed_file)<EOL><DEDENT>
Compresses data and uploads to S3.

S3 upload uses ``s3cmd``, so you must either:

    1) Manually configure ``s3cmd`` prior to use (typically using ``s3cmd --configure``).

    2) Configure ``s3cmd`` using ``s3.configure()``.

    3) Pass your access key and secret key to ``compress_and_upload``, which will automatically configure s3cmd.

.. note:

    ``s3cmd`` configuration only needs to be done once per computer,
    which means that relaunching a cloud instance or Docker image will
    require re-configuration of ``s3cmd``.

Args:

    data: Can be one of three things:

        1) Path to a single file

        2) Path to a directory

        3) A list of one or more paths to files or directories

    compressed_file (str): Path to the compressed file. Required.

    s3_path (str): The S3 path, with the filename omitted. The S3 filename
      will be the basename of the ``compressed_file``. For example::

        compress_and_upload(data='/path/to/data',
                            compressed_file='/path/to/compressed.tar.gz',
                            s3_path='s3://my_bucket/path/to/')

      will result in an uploaded S3 path of ``s3://my_bucket/path/to/compressed.tar.gz``

    method (str): Compression method. Options are ``'gz'`` (gzip) or ``'bz2'`` (bzip2).
        Default is ``'gz'``.

    delete (bool): If ``True``, the ``compressed_file`` will be deleted after upload
        to S3. Default is ``False``.

    access_key (str): AWS access key.

    secret_key (str): AWS secret key.