Computer Science/에러 기록 정리

[AWS Lambda]errno 30 read-only file system

JG Ahn 2019. 11. 13. 17:37

Environment

- AWS Lambda

- python 2.7

 

Error

- errno 30 read-only file system

 

Situation

- AWS Lambda에서 S3에 있는 파일을 다운로드 받을때 해당 에러가 발생했다.

import boto3

FILE_PATH = 'image/atv_rider0001.jpg'
BUCKET_NAME = 'flxr-yolo'
KEY = 'image/atv_rider0001.jpg'

client = boto3.client('s3')
client.download_file(BUCKET_NAME, KEY, FILE_PATH)

 

Solution

- Code에서 FILE_PATH는 S3의 파일을 다운받아 저장되는 곳을 지정하는데 AWS Lambda에서는 오직 /tmp 에만 파일을 작성할 수 있다. 

- 따라서 FILE_PATH = '/tmp/file_name' 형식으로 고쳐주면 제대로 작동한다.

 

Ref

1. https://stackoverflow.com/questions/39383465/python-read-only-file-system-error-with-s3-and-lambda-when-opening-a-file-for-re