S3에서 특정 위치 (예 : /foo/bar.zip)에 zip 압축 파일을 업로드했습니다. bar.zip에서 값을 추출하여 아래에 배치하고 싶습니다./foo 압축을 푼 파일을 다운로드하거나 다시 업로드하지 않아도됩니다. 어떻게하면 S3이 파일 시스템처럼 취급 될 수 있도록 할 수 있습니까?S3의 zip 아카이브에서 파일을 추출하는 방법
답변
S3는 이것을 허용하도록 실제로 설계되지 않았습니다. 일반적으로 파일을 다운로드하여 처리하고 추출한 파일을 업로드해야합니다. 당신은 s3fs
및 FUSE
을 (article 및 github site 참조)를 사용하여 로컬 파일 시스템으로 S3 버킷을 장착 할 수
:
그러나, 몇 가지 옵션이있을 수 있습니다. 여전히 파일을 다운로드하고 업로드해야하지만 파일 시스템 인터페이스 뒤에 이러한 작업이 숨겨져 있습니다.
AWS에서 로컬 컴퓨터로 데이터를 다운로드하지 않으려면 EC2 instance에 데이터를 다운로드하고
s3fs
의 유무에 관계없이 작업을 수행하십시오. 이렇게하면 Amazon 데이터 센터에 데이터가 보관됩니다.AWS Lambda을 사용하여 파일을 로컬 컴퓨터에 다운로드하지 않고 원격 작업을 수행 할 수 있습니다.
당신은 파일을 패키지를 만들고 액세스 node.js
로 작성된 작은 프로그램을 업로드, 압축 해제하고 업로드해야합니다. 이 처리는 AWS 인프라 스트럭처에서 이루어 지므로 모든 파일을 자신의 컴퓨터에 다운로드 할 필요가 없습니다. FAQs을 참조하십시오.
마지막으로이 코드를 트리거하는 방법을 찾아야합니다. 일반적으로 람다에서는 zip 파일을 S3에 업로드하여 자동으로 트리거됩니다. 파일이 이미있는 경우 AWS API에서 제공하는 invoke-async
명령을 사용하여 파일을 수동으로 트리거해야 할 수 있습니다. AWS Lambda walkthroughs 및 API docs을 참조하십시오.
그러나 이것은 다운로드를 피하는 데 매우 정교한 방법이며 많은 수의 zip 파일을 처리해야하는 경우에만 유용 할 것입니다. 또한 람다 함수는 최대 지속 시간이 5 분 (default timeout은 3 초)으로 제한되므로 파일이 매우 클 경우 시간이 초과 될 수 있지만 /tmp
의 스크래치 공간은 500MB로 제한되므로 파일 크기도 제한됩니다.
- 1. MATLAB의 zip 아카이브에서 하나의 파일을 추출하는 방법은 무엇입니까?
- 2. 전체 파일을 메모리에로드하지 않고 zip 아카이브에서 압축 파일을 추출하십시오.
- 3. ZIP 아카이브에서 특수 파일을 내보내는 방법은 무엇입니까?
- 4. PHP Zip 아카이브에서 읽기
- 5. git 아카이브에서 프로젝트 트리를 추출하는 방법
- 6. ssh2를 사용하여 zip 파일을 추출하는 방법
- 7. jar 파일에서 zip 파일을 추출하는 방법
- 8. 7-Zip을 사용하여 여러 zip 아카이브에서 파일을 삭제하는 방법
- 9. 노드 js를 사용하여 tar.gz 아카이브에서 단일 파일을 추출하는 방법
- 10. 아카이브 형식을 인식하고 작동하지 않는 아카이브에서 파일을 추출하는 Bash 스크립트
- 11. Zip 아카이브에서 루비 소스를로드 중입니까?
- 12. Abbrevia zip 아카이브에서 기준 폴더를 어떻게 설정합니까?
- 13. zip 아카이브에서 읽은 이미지 표시 python
- 14. 명령 줄을 사용하여 한 아카이브에서 다른 아카이브로 zip 파일을 추가하십시오.
- 15. 디렉토리의 모든 zip 아카이브에서 특정 파일을 삭제하는 스크립트
- 16. Ruby의 Zip 아카이브에서 특정 파일의 압축을 풉니 다.
- 17. S3의 우편 번호로 파일을 업로드하는 방법
- 18. zip 파일을 다운로드하고 추출하는 스크립트는 오류를 반환합니다.
- 19. Windows 스토어에서 ZipArchive로 .zip 파일을 추출하는 중
- 20. maven 3을 사용하여 최종 빌드 zip 아카이브에서 디렉토리를 제거하는 방법
- 21. 프레임 워크 4의 C# .net에서 zip 파일을 추출하는 방법
- 22. zip 파일을 추출하는 방법 비동기식으로 C#에서 UI를 차단하지 않으시겠습니까?
- 23. 파이썬 2.7.3 버전에서 7z zip 파일을 추출하는 방법
- 24. zip4j를 사용하여 암호 보호 기능이있는 zip 파일을 추출하는 방법
- 25. MSBuild를 사용하여 디렉토리에서 여러 zip 파일을 추출하는 방법
- 26. tar 아카이브에서 파일을 삭제합니다.
- 27. 기본적으로 sevenzipsharp로 파일을 추출하는 방법
- 28. 서명이 789C 인 아카이브에서 데이터를 추출하는 방법은 무엇입니까?
- 29. zip 아카이브에서 파일 이름을 마스킹하는 참 (쉬운) 방법
- 30. winrar를 사용하여 아카이브에서 하나의 파일을 어떻게 추출합니까?
이제 AWS Lambda의 실행 시간 제한은 5 분입니다 (https://serifandsemaphore.io/aws-lambda-going-beyond-5-minutes-34e381e71231#.blrcnlxpk). 그래도 큰 메모. – thadk
/람다의 tmp 스크래치 공간도 500mb (perhttps : //aws.amazon.com/lambda/faqs/) – thadk
@thadk 포인터를 보내 주셔서 감사합니다 - 답변을 업데이트했습니다! – DNA