0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】Lambdaで「OSError: [Errno 30] Read-only file system」エラーになった場合

Posted at

概要

AWS Lambdaでpythonコードを実装して動かしていたら以下のエラーに。原因と解決方法を紹介します。

[ERROR] OSError: [Errno 30] Read-only file system: '/var/task/sample/xxx.json'

原因と解決方法

Lambdaのファイルシステムは読み取り専用。
なので書き込みは基本的にできません。

ただし、tmpディレクトリだけは書き込みOKというルールがあります。

# 元々のコード
with open('/sample/xxx.json', 'w') as json_file:
    json.dump(data, json_file, indent=4)

# /tmpディレクトリにファイルを書き込む
with open('/tmp/xxx.json', 'w') as json_file:
    json.dump(data, json_file, indent=4)

上記のようにすることで書き込みができるようになり、エラーがなくなりました。

ちなみに、このtmpディレクトリは最大512MBの一時ストレージでしたが、2022年に10GBまで使用できるようになったようです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?