我正在使用s3cmd将文件上传到我的S3服务器。我的问题是,当服务器上的目录不存在时,上传失败。如果不存在,我如何告诉s3cmd创建文件夹?我正在使用PHP。
答案 0 :(得分:42)
我相信你应该尝试类似s3cmd put file.jpg s3://bucket/folder/file.jpg
的内容。
S3没有目录的概念,整个folder/file.jpg
是文件名。如果使用GUI工具或从文件夹中删除file.jpg,您很可能会看到该文件夹也已消失。目录方面的可视化表示是为了方便用户。
答案 1 :(得分:1)
如果您不想上传文件,可以复制s3工具创建的特殊$ folder $对象来标记文件夹:
s3cmd cp 's3://bucket/parent_$folder$' 's3://bucket/parent/child_$folder$'
创建“子”“文件夹”。
在子位置上传内容时不那么容易混淆:
s3cmd put dummy s3://bucket/parent/child/dummy
Hive似乎要求在创建外部表时存在完整的S3路径。这就是为什么我在看这个问题:)
答案 2 :(得分:0)
这是如何创建文件夹 s3cmd put foobar s3:// bucket_name / new_directory /
验证 - s3cmd la