s3boto的意外行为

时间:2013-05-08 09:28:18

标签: python amazon-s3 boto django-storage

我正在使用amazon S3存储并出现意外行为:storage.exists()为目录返回False。我做得对吗?据我所知,django文档应该返回True https://docs.djangoproject.com/en/dev/ref/files/storage/

from storages.backends.s3boto import S3BotoStorage

s = S3BotoStorage(bucket='bucketname')
s.listdir('.')
    ([u'test_elf'], [u'327.jpg',u'avatar2.jpg'])
s.exists(u'avatar2.jpg')
    True
s.exists(u'test_elf')
    False  <-- ??

1 个答案:

答案 0 :(得分:0)

s3仅模拟文件夹。如果你在s3上有这样的文件结构

avatar1.jpg
avatar2.jpg
folder --
          avatar3.jpg
          avatar4.jpg
one_more.png
last_image.jpg

比您的存储桶上有6个逻辑实例:

avatar1.jpg
avatar2.jpg
folder/avatar3.jpg
folder/avatar4.jpg
one_more.png
last_image.jpg

我认为您可以自由地在根目录中创建一个文件“文件夹”,它将与通常的文件系统结构无法比拟,但可能在s3上。