我正在使用 s3cmd 将文件上传到我的 S3 服务器。我的问题是,当服务器上的目录不存在时,上传失败。如果文件夹不存在,我如何告诉 s3cmd 创建文件夹?我正在使用 PHP。
问问题
33455 次
3 回答
48
我相信你应该尝试类似的东西s3cmd put file.jpg s3://bucket/folder/file.jpg
。
S3没有目录的概念,整体folder/file.jpg
就是文件名。如果使用 GUI 工具或其他工具从文件夹中删除 file.jpg,您很可能会看到该文件夹也不见了。目录方面的可视化表示是为了方便用户。
于 2011-07-01T22:05:49.093 回答
3
这是创建文件夹的方法:
s3cmd put foobar s3://bucket_name/new_directory/
验证:
s3cmd la
于 2018-01-26T19:21:47.010 回答
2
如果您不想上传文件,可以复制 s3 工具创建的特殊 $folder$ 对象来标记文件夹:
s3cmd cp 's3://bucket/parent_$folder$' 's3://bucket/parent/child_$folder$'
它创建了一个“子”“文件夹”。
相反,在子位置上传一些东西不会那么混乱:
s3cmd put dummy s3://bucket/parent/child/dummy
Hive 似乎要求在创建外部表时存在完整的 S3 路径。这就是为什么我在看这个问题:)
于 2012-03-06T08:55:27.307 回答