2016-06-15 1 views
1

매우 제한된 메모리가 있지만 AWS s3에 거대한 파일을 업로드/다운로드해야하는 앱이 있다고 가정 해보십시오.AWS S3 메모리 사용량이 적은 대용량 파일 업로드/다운로드

질문 1 : 매우 제한된 메모리를 사용하면서 FS로 직접 업로드/다운로드해야 할 때 사용할 올바른 api는 무엇입니까? TransferManager.upload()는 메모리에 전체 파일을 넣어 것입니다 또는 스트리밍 똑똑 : (200 메가 바이트 등) S3에 객체를 업로드 할 수있는 옵션의

하나는 this

TransferManager.upload(String bucketName, String key, File file) 

질문 2 콘텐츠를 s3로 채우지 않고 메모리를 채우십시오.

질문 3 : zero copy networking 할 수있는 API가 있습니까?

질문 4 : aws는 정책을 정의 할 때 s3에서 더 느린 저장소로 파일을 이동하는 옵션을 제공합니다. 파일을 저주파수 액세스 저장소로 이동하는 경우 동일한 방법으로 쿼리합니까? (내 가정은 s3가 파일을 얻는 데 몇 시간을 걸릴 것입니다. 다운로드가 시작됩니다.) 중요한 것은이 프로세스가 클라이언트로서 숨겨져 있거나 현재 내 파일이 어디에 있는지 파악하고 특정 API를 사용해야한다는 것입니다. 그것을 얻기 위해?

많은 질문에 대답 해 주시고 답변을 검색해 보았습니다. 비트와 조각 만 찾았지만 분명한 답변은 없습니다.

+0

나는 그것이 다른 질문이 별도의 의미가 이해하지만이 주제를 찾고 있습니다 사람에 대한 모든 답변 흥미로운 일이 될 것이다 ... – vach

답변

2

Q1, Q2 : 당신이 찾고있는 다중 부품 S3 업로드를 위해 파기하십시오.

질문 3 : 아니요, S3는 현재 표준 및 다중 부분 업로드 API 만 지원합니다.

질문 4 : 아니요, 다른 방식으로 작동합니다. 파일이 정상적으로 저장되어있는 것처럼 보일 것입니다. 업로드 한 즉시 (몇 초) 액세스 할 수 있지만 그 차이는 가격에 있습니다. 데이터를 저장하는 것이 훨씬 더 저렴하지만 모든 MB를 검색하는 것이 더 비쌉니다.

행운

+0

는 4 분기에 대한 손실 된 파일을 이동있어 경우 빙하에 그것은 아직도 s3에있는 것과 같은 방법으로 접근 가능합니까? 내가 물어볼 때와 그 빙하에서 실제 다운로드하기 전에 몇 시간 동안 차단됩니까? 나는 그 값싼 빙하로 추측하고, s3만으로 비싼 ...? – vach

+0

아니요, 빙하가 아닌 느린 S3 스토리지에 대해 질문했습니다. Glacier는 사실 S3 API를 지원하기 위해 구현 된 독립형 보관 서비스입니다. 빙하 검색 시간은 수 시간이지만 S3 자체는 다른 저장 장치를 지원합니다. 앱에 데이터가 자주 필요하지 않지만 필요할 때 빠른 액세스가 필요한 경우 'Amazon S3 표준 - 자주 액세스하지 않음'을 선택하십시오. 자세한 내용은 다음을 참조하십시오. https://aws.amazon.com/s3/storage-classes/ – Kainax

+1

다음은 더 나은 설명입니다. https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class -intro.html – Kainax

관련 문제