Installing and configuring AWS CLI

AWS CLI is a command-line tool for uploading, retrieving, and managing data in Amazon S3 and other Cloud Storage Service Providers that use the S3 protocol such as DreamObjects. It's best suited for power users who are competent with the command line and is ideal for scripts that are automated and triggered from cron.

The following instructions help you install and configure AWS CLI to work with DreamObjects.

Install a version of Python newer than 2.7.9

This step is not necessary, but is preferred to avoid SSL warnings and the need to install additional packages. 

Python 2 versions older than 2.7.9 will throw an SNIMissingWarning message when running an aws-cli command. This is because these older versions lack SNI support. This can cause servers to present a certificate that the client thinks is invalid. For example:

python2.7/site-packages/urllib3/util/ssl_.py:354: SNIMissingWarning: 
An HTTPS request has been made the server to present an incorrect TLS certificate,
which can cause validation failures. You can upgrade to a newer version of Pyt#ssl-warnings
SNIMissingWarning

Your commands will function correctly, however you may wish to remove these warnings. View the following links for further information:

View the following articles to install a more recent version of Python:

Installing AWS CLI

Mac and Linux computers

Mac and Linux machines can install aw-cli by running the Python “pip” command. The following shows how to install aws-cli on a DreamHost server, however steps are the same for Mac and Linux machines.

DreamHost servers

To install the client on a DreamHost Shared, VPS, or Dedicated server requires the use of Python's virtualenv. Once the virtual environment is created and active, you can then use 'pip' to install the AWS CLI client locally.

  1. Log into your server via SSH.
  2. Install a custom version of Python as mentioned above. 
  3. Make sure you're in your user's home directory.
    [server]$ cd ~
  4. Create a virtual environment for a specific DreamObjects bucket. This virtual environment will store your DreamObjects bucket's credentials. This example names the virtual environment after your DreamObjects bucket name. The following command also assumes you've installed a custom version of Python as mentioned above. You can then specify the full path to your local install when creating the virtual environment.
    [server]$ virtualenv -p /home/username/opt/python-2.7.9/bin/python my-bucket
  5. Activate this new virtual environment.
    [server]$ source ~/my-bucket/bin/activate
  6. When you activate the virtual environment, the command prompt changes to show it's active. For example:
    (my-bucket) 
  7. Install aws-cli.
    (my-bucket) pip install awscli
  8. Finally, update the permissions on the new 'aws' directory so you can run aws commands.
    (my-bucket) chmod +x ~/my-bucket/bin/aws

You can now proceed with configuring it to use your DreamObjects bucket.

Configuring AWS CLI

Run the following command to input your Access and Secret key for your bucket. aws-cli stores them encrypted for you. Accept the default region and output format by hitting enter.

[user@localhost]$ aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

You can now run aws-cli commands to interact with your DreamObjects bucket.

Example Commands

View the following articles for examples of commands you can use to manage your DreamObjects data:

Did this article answer your questions?

Article last updated PST.