2011-03-18 7 views
0

수십만 개의 이미지가있는 버킷이있는 경우 ID를 통해 내 사이트에 표시하려는 각 이미지를 검색해야하거나 괜찮은 방법이 있습니다 (예 : 양동이에 여러 폴더가있을 수 있습니다)?Amazon S3 버킷 내부 검색

나는 버킷에서 중복 된 이름을 막기 위해 각 이미지에 고유 한 해시 또는 유사한 것을 제공하려고 생각하고있었습니다. 그게 좋은 생각 인 것 같니?

답변

0

일반 URL을 사용하여 각 이미지에 연결하기 만하면됩니다. 공개 파일에 대한 URL의 형식은 :

http://mybucket.s3.amazonaws.com/myimage.jpg?AWSAccessKeyId=44CF9SAMPLEF252F707&Expires=1177363698&Signature=vjSAMPLENmGa%2ByT272YEAiv4%3D 

어디에도 없습니다 : 개인 URL에 대한

http://mybucket.s3.amazonaws.com/myimage.jpg 

, 당신은 형식 (SDK와 중 하나를 사용하여 쉽게) URL을 생성해야 각각의 파일을 고유 한 이름으로 저장하는 것이 잘못되었습니다. 파일에 올바른 헤더를 설정하면 모든 다운로드가 여전히 원래 이름을 가질 수 있습니다. 예를 들면 Content-Disposition: attachment; filename=myimage.jpg;


버킷의 내용을 나열 위해 당신은 API를에게 GetBucket 명령을 사용합니다. API를 통한 모든 액세스에는 SDKs을 사용하는 것이 더 쉽습니다.

0

아마존이 모든 것을 사전 식으로 나열하면 (현재 지원되는 유일한 방법 인 것처럼) 버킷 개체를 통해 검색하거나 일을 처리하는 것이 고통 스러울 수 있습니다. 무작위 ID를 사용할 때의 문제는 모든 블록 ID가 동일한 블록 저장소에 기록되며 최적화를 위해 병렬 검색을 수행 할 수 없다는 것입니다.

다음은 성능 향상에 대한 흥미로운 기사입니다. 나는 그것을 내 작업에 사용하고 높은 부하에서 중요한 차이를 보았다. http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html