Does anybody know how to create folders and subfolders in an S3 bucket using Lambda Functions? Thanks. Preferably in JS?
This is a classic misunderstanding. S3 is not a filesystem so it has no concept of folders / directories.
For convenience if you create a key
with the /
character it will be presented like a “folder” hierarchy in the Console. So if you wanted to create the “folder” my_stuff
with the objects a.txt
and b.txt
in it you would put
two objects to S3 with the following keys:
• my_stuff/a.txt
• my_stuff/b.txt
Note there is no way to delete the “folder” my_stuff
when all objects with that subkey are removed the folder
will be gone.
If you wanted it to make it look like there was an empty folder in the console you could create the empty object called my_stuff/
(note the forward slash)
Some examples of using the JS SDK with S3 here https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-creating-buckets.html
I prefer to think of S3 like a [very large scale] key/value store than a file system. Personal preference maybe, but I’ve heard of other people having success thinking of it that way too.