https://aws.amazon.com/jp/about-aws/whats-new/2022/03/aws-lambda-configure-ephemeral-storage/ https://cloud5.jp/lambda_tmp_directory/
/tmp
を一時領域として10GBまで使うことができる。
Lambdaは一定期間同じインスタンスが再利用され、/tmp
領域も使い回される。
zipファイルを /tmp/
に解凍するようなことをしたとき気をつける必要がある。
前回実行時のファイルが残っている可能性があるので、
- ランダムな名称で作成する
- 処理が終わったら削除する
import (
"log"
"os"
)
func createFile(text string) (*os.File, error) {
f, err := os.CreateTemp("/tmp", "W020.nc")
if err != nil {
log.Fatalln(err)
}
defer f.Close()
f.WriteString(text)
return f, err
}
func handler() error {
f, err := createFile("hello")
if err != nil {
return err
}
defer os.Remove(f.Name())
}