2013-01-01 4 views
2

가설 : 수천 개의 이미지가 아마존 S3 버킷의 다른 폴더에 있습니다. 내가 슬라이드 쇼 같은 unlogged 사용자에게 accessibile하고 싶습니다,하지만 DB와 서버 성능이 (너무 많은 사용자의 경우 동시에) 처리하고 싶지 않아, 그래서 난 단지 자바 스크립트를 사용하고 싶습니다 .Amazon S3 버킷의 이미지를 자바 스크립트로 표시

문제는 XMLHttpRequest를 사용하여 Amazon이 제공하는 xml 파일을 가져오고 구문 분석 할 수 없어서 클라이언트에게 파일 목록을 전달해야한다는 것입니다. 페이지가 내 웹 서버에 있어야합니다. 모든 업로드/수정 후 업데이트 된 파일 목록을 만들어 사용자와 공유 할 수 있도록 서버 측 코드를 작성해야한다고 생각합니다.하지만 좋은 생각이 아닌 것은 확실합니다.

아무에게 나 진행하는 가장 좋은 방법을 제안 할 수 있습니까? 새해 복 많이 받으세요!

+1

파일 및 폴더 이름을 제어합니까? 그렇다면 스크립트에서 파일 수를 확인하여 파일 목록이없는 것을 방지 할 수 있습니다 (예 : 012/99.jpg가 있는지 확인). –

+0

그것은 내가 선호하는 파일 이름을 선택할 수있는 나의 첫 번째 선택 (예, 내가 선호하는 파일 이름), 그리고 난 여전히 대단히 사랑하지만 항상 마지막으로 수정 된 파일을 보여주고 싶습니다 그리고 나는 모든 파일 데이터를로드 할 수 없습니다 그들은 너무 많아서 천천히 움직일 것입니다. 파일 이름으로 연속 번호를 선택하기는하지만 파일을 수정/지우는 경우 처리하기가 어려울 것입니다 (마지막으로 수정 한 내용은 항상 슬라이드 쇼의 첫 번째 항목이어야합니다). – andreaconsole

답변

1

가능한 대답은, 당신에 대해 어떻게 생각하십니까 말해 : 아마존은 ListBucket 작업을 제공 http://docs.amazonwebservices.com/AmazonS3/latest/API/SOAPListBucket.html

내가 최대-키와 (페이지 매김을위한) 마커 매개 변수를 사용하여 한 번에 얻을 얼마나 많은 결과를 선택할 수 있습니다

(예 : http://download.terracotta.org/?max-keys=5). 예를 들어, "list.html"파일에서 js로 로컬로 구문 분석 할 수있는 XML 파일 (원하는만큼)을 얻을 수 있습니다. 그런 다음 웹 서버의 slideshow.html 파일에 포함 된 iframe에 list.html 파일 (이미지 배열 정의 만 인쇄해야 함)을 포함 할 수 있습니다.

너무 지저분합니까?

+0

SOAP API 호출로 결과를 정렬 할 수있는 방법이 없습니다. 그래서 그것은 여전히 ​​당신의 필요를 만족시키지 않는 것 같습니다. – davidethell

+0

내 테스트에서 xml이 마지막 수정으로 정렬 된 것으로 보입니다. 분명히 그것에 대한 명확한 표시가없는 경우에도 마찬가지입니다. – andreaconsole

+0

그렇다면 SOAP을 싫어하는 것보다 이것이 최선의 방법이라고 말하고 싶습니다. – davidethell

0

Amazon S3 JavaScript API에는 버켓의 내용을 나열하는 메소드 bucket.list()가 있습니다.

+0

해결책이 될 수는 있지만 꼭하고 싶습니다. 가장 최근의 (그리고 마지막으로 수정 된) 파일로 정렬 된 목록을 가져오고, 매우 큰 수 있기 때문에 전체 목록을 전달해서는 안됩니다. "접두어"매개 변수를 통해 파일 이름을 선택하는 방법을 생각해야합니다. – andreaconsole

관련 문제