Create Sub folder in S3 Bucket?

After Googling for 2 hours, this CLI Command worked for me:

aws s3api put-object --bucket root-bucket-name --key new-dir-name/

Windows bat file example:

SET today=%Date:~-10,2%%Date:~-7,2%%Date:~-4,4%
aws s3api put-object --bucket root-backup-sets --key %today%/

If local file is foo.txt, and remote "folder" Year does not yet exist, then to create it, just put the file at the designated path:

$ aws s3 cp foo.txt s3://bigdata/Year/ --recursive

Or if local folder is YearData containing foo.txt, bar.txt,

$ aws s3 cp YearData s3://bigdata/Year/ --recursive
upload: YearData/foo.txt to s3://bigdata/Year/foo.txt
upload: YearData/bar.txt to s3://bigdata/Year/bar.txt

See also:

  • http://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
  • http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
  • and first, http://docs.aws.amazon.com/cli/latest/reference/configure

Use the below syntax, this is what I am using to create bucket and subfolders. Don't forget the "/" at end of the folder name.

aws s3api put-object --bucket <your-bucket-name> --key <folder-name>/test.txt --body yourfile.txt

Tags:

Amazon S3