AWS LambdaでPython3.6とS3に上げた画像を取得してOpenCVで解析するプログラムを作成しています。
S3の画像をtmp領域にアップし、その後加工してS3の別バケットにアップするプログラムを書いたのですが、
tmpにアップしたファイルを削除しようとするとパーミッション系のエラーになります。
解決方法のヒントが思いつかず、どなたかご教授いただければと存じます。
※opencvの処理が原因ではない事が切り分けできています。
運用上ファイル名に日付などを設定し、ユニークファイルとしてアップすれば運用回避できますが、一旦はtmp領域のファイルを削除する方法を検討しています。
import numpy as np import os import re import urllib import boto3 import cv2 import json import glob s3 = boto3.resource('s3') bucket = s3.Bucket('input') img = bucket.download_file('lena.jpg', '/tmp/lena.jpg') cv2.imwrite('/tmp/detected.jpg', img) bucket = s3.Bucket('output') bucket.upload_file('/tmp/detected.jpg', 'test/detected1.jpg') os.remove("detected.jpg")
エラー
module initialization error: [Errno 30] Read-only file system: 'detected.jpg'
ディレクトリの指定を変更してもディレクトリの指定エラーになります
os.remove("/tmp/detected.jpg")
エラー
module initialization error: [Errno 30] Read-only file system: 'detected.jpg'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/21 14:18
2019/09/21 14:23