📝

Cloud Function内で、read-only file systemと出てファイルが作成できない

2022/10/13に公開

概要

Cloud FunctionsでNode.jsランタイムを使用していたときに、なぜか書き込み権限のあるファイル作成をするように実装していたが、read-onlyになっていて書き込みができなかった。

修正前

index.ts
  const fileName = `test.txt`
  const filePath = `./${fileName}`
  const data = 'test data'
  writeFileSync(filePath, data, { encoding: 'utf-8', mode: 0o666, flag: 'w' })

0666は書き込み権限はある
上記のように記述しても、read-onlyで作成されてしまう。

修正後

index.ts
  const fileName = `test.txt`
  const filePath = `/tmp/${fileName}`
  const data = 'test data'
  writeFileSync(filePath, data, { encoding: 'utf-8', mode: 0o666, flag: 'w' })

Node.jsの問題ではなかった。
Cloud Functions内では基本的に書き込みができないが、/tmp 配下には書き込み可能。

Discussion