Creating a folder via s3cmd (Amazon S3)
I am using s3cmd to upload 开发者_StackOverflow社区files to my S3 server. My problem is that when a directory on the server does not exist the upload fails. How can I tell s3cmd to create the folder if it does not exist? I am using PHP.
I believe you should try something like s3cmd put file.jpg s3://bucket/folder/file.jpg
.
S3 doesn't have the concept of directories, the whole folder/file.jpg
is the file name. If using a GUI tool or something you delete the file.jpg from inside the folder, you will most probably see that the folder is gone too. The visual representation in terms of directories is for user convenience.
This is how to create a folder:
s3cmd put foobar s3://bucket_name/new_directory/
To verify:
s3cmd la
If you don't want to upload a file, you can copy the special $folder$ object that s3 tools create to mark folders:
s3cmd cp 's3://bucket/parent_$folder$' 's3://bucket/parent/child_$folder$'
which creates a "child" "folder".
It's less confusing to upload something in the child location instead:
s3cmd put dummy s3://bucket/parent/child/dummy
Hive seems to require that the full S3 path exist when creating an external table. That's why I am looking at this question :)
精彩评论