Guides - Using the AWS CLI with Object Storage

An S3-compatible object storage solution designed to store, manage, and access unstructured data in the cloud.

Create a Linode account to try this guide with a $100 credit.
This credit will be applied to any valid services used during your first 60 days.

Amazon’s AWS CLI is a command-line tool that can be used to interface with Linode’s Object Storage service.

Note
This instructions within this guide use AWS CLI version 2. Earlier versions may not work. If you are using version 1 (or earlier), you may want to uninstall it before continuing. See Installing, updating, and uninstalling the AWS CLI (version 1).

Install the AWS CLI

Installing the AWS CLI version 2 is typically accomplished by downloading a package for your operating system and installing that package. Since there is not currently an official way to do this through a package manager, you must download the package manually. To do this, follow the instructions for your operating system on the Installing or updating the latest version of the AWS CLI guide.

Configure the AWS CLI

  1. Run the following command in your preferred terminal:

    aws configure
    
  2. You are then prompted to fill out a few parameters:

    • AWS Access Key ID: Enter the access key you wish to use. See Managing Access Keys.
    • AWS Secret Access Key: Enter the secret key that corresponds with the access key. This was displayed once when generating the access key.
    • Default region name: Press enter without inputting any characters to keep the default us region. Do not change this, even if you use Object Storage in region outside the U.S.
    • Default output format: Press enter without inputting any characters.

See the following guides from AWS for more details configuring the CLI: Quick Setup and Configuring the AWS CLI.

Additional Parameters for AWS CLI Commands

  • Endpoint URL: When using the AWS CLI with a non-AWS service, like Linode’s Object Storage, you must always specify the endpoint url in each command. This is done through the --endpoint parameter. When using the commands in this guide, always replace [endpoint-url] with the cluster URL that corresponds with the data center you’re using (see Cluster URL (S3 endpoint)).

Interacting with Buckets

List Buckets

List all buckets within the data center specified during the configuration process.

Command: aws s3 ls --endpoint=[endpoint-url], replacing [endpoint-url]

Example: List all buckets on the account within the Atlanta data center:

aws s3 ls --endpoint=https://us-southeast-1.linodeobjects.com

Create a Bucket

Creates a bucket with the specified bucket label. See the Create and Manage Buckets guide for rules on naming the bucket.

Command: aws s3 mb s3://[bucket-label] --endpoint=[endpoint-url] --region=us-east-1, replacing [bucket-label] with the label you’d like to use for the new bucket.

Example: Create a bucket with the label of “example-bucket” in the Atlanta data center:

aws s3 mb s3://example-bucket --endpoint=https://us-southeast-1.linodeobjects.com --region=us-east-1

Delete a Bucket

Deletes the bucket with the specified label.

Command: s3cmd rb s3://[bucket-label], replacing [bucket-label] with the label of the bucket you wish to delete.

Example: Delete the bucket with the label of “example-bucket”:

s3cmd rb s3://example-bucket

To delete a bucket that has files in it, include the --recursive (or -r) option and the --force (or -f) option. Use caution when running this command:

s3cmd rb -r -f s3://example-bucket/

This page was originally published on


Your Feedback Is Important

Let us know if this guide made it easy to get the answer you needed.