2013-05-08 3 views
0

아마존 S3 저장소로 작업 중이며 예기치 않은 동작이 있습니다. storage.exists()는 디렉토리에 대해 False를 반환합니다. 내가 모든 일을 제대로하고 있니? 내가 장고 문서를 이해할 때, True를 리턴해야한다. https://docs.djangoproject.com/en/dev/ref/files/storage/s3boto에 대한 예기치 않은 동작

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 <-- ?? 

답변

0

s3은 폴더만을 에뮬레이션한다. 당신은 당신이 당신의 버킷 6 개 논리적 인스턴스가보다 S3

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

의 파일과 같은 구조가있는 경우 : 당신이 루트 느릅 나무에서 파일 "폴더를"자유롭게 만들 수 있다고 생각

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

을 것이다 보통의 파일 시스템 구조로는 불일치하지만 s3에서는 가능합니다.