2011-05-10 10 views
0

내 amazon s3에 4000 이미지가 있습니다. 이제 특정 사용자가 내 로컬에 업로드하는 3000 가지 파일을 다운로드해야합니다. 나는 어떻게 이것을 달성 할 수 있는가. 감사.s3에서 이미지 다운로드

업데이트 :

URL은 마치 공개적입니다. 제한처럼 내가 당신의 URL로 이동하려고 http://s3.amazonaws.com/mybucket/photos/3/3acb36fc9a540e6543ad62b4a61f76bb.jpg

@photo = Photo.first 
@photo.attachment.url #gives me the url 

답변

1

, 그것은 것 - 즉 더 비기 없다지만.

위에서 언급 한 포스터와 마찬가지로 "3"이 특정 사용자와 연결되어있는 경우 해당 버킷의 전체 콘텐츠 목록을 가져온 다음 URL 목록을 수집하기 만하면됩니다. 그런 다음 ruby ​​또는 wget/curl을 사용하여 해당 파일을 컴퓨터로 다운로드 할 수 있습니다.

도구를 사용하여 탐색하려는 경우 S3Hub (Mac 만 해당)을 좋아합니다.

도움이 되었습니까? URL 구조가 사용자에게 어떻게 매핑되는지에 대한 자세한 정보를 제공하면보다 효과적으로 도움을받을 수 있습니다.

나는 위의 귀하의 의견에서 user_id에 의해 수행되어야한다는 것을 보았습니다. 업로드와 사용자 간의 매핑이 있습니까?

문제를 해결하는 열쇠는 사용자를 많은 업로드 (및 S3의 해당 URL)에 연결할 수 있다는 것입니다.

+0

나는 질문을 업데이트했다. – rails101

+0

또 다른 생각 : Rails 앱의 경우 has_many 사진이있는 "User"클래스가 있습니까? 그러한 연관성이 있다면 레일즈 콘솔에서 몇 가지 명령을 실행하여 전체 목록을 생성 할 수 있어야합니다. – invertedlambda

+0

사용자 모델이 있으며 목록이 준비되었습니다. – rails101

0

일회성 전송입니까? 프로그래밍 방식으로 완료해야합니까?

Bucket Explorer 또는 Cloudberry explorer과 같은 GUI 도구를 사용할 수 있습니다. 둘 다 무료 버전을 사용할 수 있습니다.

'하위 폴더'/3/에는 관심있는 특정 사용자의 모든 사진이 포함되어 있다고 가정하면 양동이를 쉽게 필터링하여 해당 폴더의 사진을 표시하고 로컬 시스템에 다운로드 할 수 있습니다.

+0

/3/3 ID를 가진 이미지가 포함되어 있습니다. 프로그래밍 방식으로 처리해야합니다. 나는 그들의 user_id에 따라 이미지를 다운로드해야한다. – rails101

0

업로드/다운로드 할 데이터가 많은 경우 AWS import/export을 사용할 수 있습니다. 인터넷을 통해 업로드/다운로드를 수행하는 대신 하드 드라이브를 제공합니다. 정액 요금과 시간당 명목 요금이 있습니다. 내가 말했듯이, 상당한 수의 GB에 대해 이야기한다면, 이것은 매력적인 대안입니다.

관련 문제