티스토리 뷰
AWS Lambda에서 간혹 파일을 임시적으로 등록해야 할 경우가 있습니다 :
-
Path를 가리켜서 이미지 분석을 해야할 때
-
Path가 가리키는 파일을 FTP 서버에 업로드 해야할 때
-
...
위와같은 용도로서 AWS Lambda에 임시적으로 파일 생성을 하려 하면 일반적인 디렉터리에는 파일 생성/보관이 안됩니다. 이는 디렉터리 권한 때문입니다.
하지만 다행히도 서버에 있어서 한가지 암묵적인 규칙이 있습니다. 다양한 프로그램의 개발 Process를 보면 프로그램 내에서 임시적으로 파일을 생성을 해야 할 경우, /tmp 파일에 등록을 하는 방향으로 개발이 이루어집니다.
AWS Lambda 역시 위 규칙을 참고하여, /tmp 한 디렉터리에 대해서만 파일 생성/보관이 되게 했습니다.
직접 한번 /tmp 폴더에 파일을 생성 및 확인을 해보겠습니다.
1. Ruby on Jets에 Job 파일을 생성하고, 아래와 같은 내용으로 AWS Lambda에 배포했습니다.
class FileWriteTestJob < ApplicationJob
def job_test
system "cd /tmp; touch ImFine;" # /tmp 파일 이동 및 ImFine 파일 생성
p system "cd /tmp; ls" # tmp 디렉터리를 조회하는 디버깅 코드
end
end
2. Jets를 통해 배포된 Job을 AWS Lambda 함수에서 실행하고, 결과를 봅니다.
아까와 달리 Write 에러 없이 touch 명령어를 통해 파일이 잘 생성된게 확인됩니다.
'프로그래밍 공부 > Ruby on Jets : 서버리스 프레임워크' 카테고리의 다른 글
Ruby on Jets : Mac OS에 Jets 설치 및 기본설정 (0) | 2020.08.02 |
---|---|
Ruby on Jets : 파일 압축 (0) | 2020.05.02 |
Ruby on Jets : 배포 오류/이슈 기록 (0) | 2020.05.01 |
Ruby on Jets : AWS Credentials 자격증명 (0) | 2020.04.27 |
Ruby on Jets : Unavailable pre-compiled gems (0) | 2020.04.27 |
댓글