Upload files to an Lightsail object storage bucket - Amazon Lightsail

Upload files to an Lightsail object storage bucket

When you upload a file to your bucket in the Amazon Lightsail object storage service, it is stored as an object. Objects consist of the file data and metadata that describe the object. You can have any number of objects in a bucket.

You can upload any file type—images, backups, data, movies—into a bucket. The maximum file size that you can upload by using the Lightsail console is 2 GB. To upload a larger file, use the Lightsail API, AWS Command Line Interface (AWS CLI), or AWS SDKs.

Lightsail offers the following options depending on the size of the file you want to upload:

  • Upload an object up to 2 GB in size using the Lightsail Console — With the Lightsail console, you can upload a single object up to 2 GB in size. For more information, see Upload files to a bucket using the Lightsail console later in this guide.

  • Upload an object up to 5 GB in size with a single operation using the AWS SDKs, REST API, or AWS CLI — With a single PUT operation, you can upload a single object up to 5 GB in size. For more information, see Upload files to a bucket using the AWS CLI later in this guide.

  • Upload an object in parts using the AWS SDKs, REST API, or AWS CLI — Using the multipart upload API, you can upload a single large object, of 5 MB to 5 TB in size. The multipart upload API is designed to improve the upload experience for larger objects. You can upload an object in parts. These object parts can be uploaded independently, in any order, and in parallel. For more information, see Upload files to a bucket using multipart upload.

For more information about buckets, see Object storage.

Object key names and versioning

When you upload a file using the Lightsail console, the file name is used as the object key name. An object key (or key name) uniquely identifies an object stored in a bucket. The folder that the file is uploaded into, if any, is used as the key name prefix. For example, if you upload a file named sailbot.jpg to a folder in your bucket named images, the full object key name and prefix will be images/sailbot.jpg. However, the object is displayed in the console as sailbot.jpg in the images folder. For more information about object key names, see Key names for object storage buckets.

When you upload a directory using the Lightsail console, all of the files and subfolders in the directory are uploaded to the bucket. Lightsail then assigns an object key name that is a combination of each of the uploaded file names and the folder name. For example, if you upload a folder named images that contains two files, sample1.jpg and sample2.jpg, Lightsail uploads the files and then assigns the corresponding key names, images/sample1.jpg and images/sample2.jpg. The objects are displayed in the console as sample1.jpg and sample2.jpg in the images folder.

If you upload a file with a key name that already exists, and your bucket does not have versioning enabled, the new uploaded object replaces the previous object. However, if your bucket has versioning enabled, Lightsail creates a new version of the object instead of replacing the existing object. For more information, see Enable and suspend bucket object versioning.

Upload files to a bucket using the Lightsail console

Complete the following procedure to upload files and directories using the Lightsail console.

  1. Sign in to the Lightsail console.

  2. On the Lightsail home page, choose the Storage tab.

  3. Choose the name of the bucket that you want to upload files and folders into.

  4. In the Objects tab, perform one of the following actions:

    • Drag and drop files and folders to the Objects page.

    • Choose Upload, and choose File to upload an individual file, or Directory to upload a folder and all of its contents.

      Note

      You can also create a folder in by choosing Create new folder. You can then browse into the new folder and upload files to it.

    An Upload successful message is displayed when the upload completes.

Upload files to a bucket using the AWS CLI

Complete the following procedure to upload files and folders to a bucket using the AWS Command Line Interface (AWS CLI). You do this by using the put-object command. For more information, see put-object in the AWS CLI Command Reference.

Note

You must install the AWS CLI and configure it for Lightsail and Amazon S3 before continuing with this procedure. For more information, see Configure the AWS CLI to work with Lightsail.

  1. Open a Command Prompt or Terminal window.

  2. Enter the following command to upload a file to your bucket.

    aws s3api put-object --bucket BucketName --key ObjectKey --body LocalDirectory --acl bucket-owner-full-control

    In the command, replace the following example text with your own:

    • BucketName with the name of the bucket to which you want to upload the file.

    • ObjectKey with the full object key of the object in your bucket.

    • LocalDirectoryFire with the local directory folder path on your computer of the file to upload.

    Example:

    • On a Linux or Unix computer:

      aws s3api put-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --body home/user/Pictures/sailbot.jpg --acl bucket-owner-full-control
    • On a Windows computer:

      aws s3api put-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --body "C:\Users\user\Pictures\sailbot.jpg" --acl bucket-owner-full-control

    You should see a result similar to the following example:

    Result of the AWS CLI put-object command

Configure the AWS CLI for IPv6-only requests

Amazon S3 supports bucket access over IPv6. You make requests with Amazon S3 API calls over IPv6 by using dual-stack endpoints. This section provides examples of how to make requests to a dual-stack endpoint, over IPv6. For more information, see Using Amazon S3 dual-stack endpoints in the Amazon S3 User Guide. For instructions on setting up the AWS CLI, see Configuring the AWS Command Line Interface to work with Amazon Lightsail.

Important

The client and the network accessing the bucket must be enabled to use IPv6. For more information, see IPv6 reachability.

There are two ways to make S3 requests from an IPv6-only instance. You can configure the AWS CLI to direct all Amazon S3 requests to the dual-stack endpoint for the specified AWS Region. Or, if you want to use a dual-stack endpoint for specified AWS CLI commands only (not all commands), you can add the S3 dual-stack endpoint to every command.

Configure the AWS CLI

Set the configuration value use_dualstack_endpoint to true in a profile in your AWS Config file to direct all Amazon S3 requests made by the Amazon S3 and s3api AWS CLI commands to the dual-stack endpoint for the specified Region. You specify the Region in the AWS CLI config file, or in a command using the --region option.

Enter the following commands to configure the AWS CLI.

aws configure set default.s3.use_dualstack_endpoint true
aws configure set default.s3.addressing_style virtual
Add the dual-stack endpoint to a specific command

You can use the dual-stack endpoint per command by setting the --endpoint-url parameter to https://s3.dualstack.aws-region.amazonaws.com or http://s3.dualstack.aws-region.amazonaws.com for any s3 or s3api command. In the example below, replace bucketname and aws-region with the name of your bucket and your AWS Region.

aws s3api list-objects --bucket bucketname --endpoint-url https://s3.dualstack.aws-region.amazonaws.com

Managing buckets and objects in Lightsail

These are the general steps to manage your Lightsail object storage bucket:

  1. Learn about objects and buckets in the Amazon Lightsail object storage service. For more information, see Object storage in Amazon Lightsail.

  2. Learn about the names that you can give your buckets in Amazon Lightsail. For more information, see Bucket naming rules in Amazon Lightsail.

  3. Get started with the Lightsail object storage service by creating a bucket. For more information, see Creating buckets in Amazon Lightsail.

  4. Learn about security best practices for buckets and the access permissions that you can configure for your bucket. You can make all objects in your bucket public or private, or you can choose to make individual objects public. You can also grant access to your bucket by creating access keys, attaching instances to your bucket, and granting access to other AWS accounts. For more information, see Security Best Practices for Amazon Lightsail object storage and Understanding bucket permissions in Amazon Lightsail.

    After learning about bucket access permissions, see the following guides to grant access to your bucket:

  5. Learn how to enable access logging for your bucket, and how to use access logs to audit the security of your bucket. For more information, see the following guides.

  6. Create an IAM policy that grants a user the ability to manage a bucket in Lightsail. For more information, see IAM policy to manage buckets in Amazon Lightsail.

  7. Learn about the way that objects in your bucket are labeled and identified. For more information, see Understanding object key names in Amazon Lightsail.

  8. Learn how to upload files and manage objects in your buckets. For more information, see the following guides.

  9. Enable object versioning to preserve, retrieve, and restore every version of every object stored in your bucket. For more information, see Enabling and suspending object versioning in a bucket in Amazon Lightsail.

  10. After enabling object versioning, you can restore previous versions of objects in your bucket. For more information, see Restoring previous versions of objects in a bucket in Amazon Lightsail.

  11. Monitor the utilization of your bucket. For more information, see Viewing metrics for your bucket in Amazon Lightsail.

  12. Configure an alarm for bucket metrics to be notified when the utilization of your bucket crosses a threshold. For more information, see Creating bucket metric alarms in Amazon Lightsail.

  13. Change the storage plan of your bucket if it's running low on storage and network transfer. For more information, see Changing the plan of your bucket in Amazon Lightsail.

  14. Learn how to connect your bucket to other resources. For more information, see the following tutorials.

  15. Delete your bucket if you're no longer using it. For more information, see Deleting buckets in Amazon Lightsail.