AWS Lambda shutil.move 文件到 /tmp 目录
AWS Lambda shutil.move file to /tmp directory
我有一个 aws lambda,我正在尝试将文件移动到 /tmp 目录,以便 read/write 它们。我知道 /tmp 目录是唯一具有写入权限的目录。我正在尝试移动文件:
for file in os.listdir("/var/task/Files/"):
shutil.move("/var/task/Files/"+file,"/tmp/")
当我 运行 lambda 时,它给出了以下错误:
[ERROR] OSError: [Errno 30] Read-only file system: '/var/task/Files/700.in'
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 13, in lambda_handler
rs.run()
File "/var/task/Files/run.py", line 10, in run
shutil.move("/var/task/Files/"+file,"/tmp/")
File "/var/lang/lib/python3.8/shutil.py", line 812, in move
os.unlink(src)
为了正确完成此操作,我是否遗漏了什么?
正如您所说,只有 /tmp
文件系统以读写方式挂载。
shutil.move("/var/task/Files/"+file,"/tmp/")
您正在尝试修改 /var/task
下的目录以将文件移出。这是一个只读文件系统,所以它会失败。而是复制文件:
shutil.copy("/var/task/Files/"+file,"/tmp/")
我有一个 aws lambda,我正在尝试将文件移动到 /tmp 目录,以便 read/write 它们。我知道 /tmp 目录是唯一具有写入权限的目录。我正在尝试移动文件:
for file in os.listdir("/var/task/Files/"):
shutil.move("/var/task/Files/"+file,"/tmp/")
当我 运行 lambda 时,它给出了以下错误:
[ERROR] OSError: [Errno 30] Read-only file system: '/var/task/Files/700.in'
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 13, in lambda_handler
rs.run()
File "/var/task/Files/run.py", line 10, in run
shutil.move("/var/task/Files/"+file,"/tmp/")
File "/var/lang/lib/python3.8/shutil.py", line 812, in move
os.unlink(src)
为了正确完成此操作,我是否遗漏了什么?
正如您所说,只有 /tmp
文件系统以读写方式挂载。
shutil.move("/var/task/Files/"+file,"/tmp/")
您正在尝试修改 /var/task
下的目录以将文件移出。这是一个只读文件系统,所以它会失败。而是复制文件:
shutil.copy("/var/task/Files/"+file,"/tmp/")