目标
我正在尝试将zip文件写入python aws lambda的/ tmp文件夹中,因此我可以在压缩之前提取操作,并将其放入s3存储桶中。
问题
Os Errno30只读文件系统
在我的计算机上对该代码进行了本地测试,以确保在将文件上传到AWS之前,该文件将写入我的工作目录。这是我要使用的代码。
file = downloadFile() #This is api call that returns binary zip object
newFile = open('/tmp/myZip.zip','wb')
newFile.write(file)
extractAll('/tmp/myZip.zip')
Run Code Online (Sandbox Code Playgroud)
这是尝试提取zip文件的代码
def extractAll(self,source):
with zipfile.ZipFile(source, 'r') as archive:
archive.extractall()
Run Code Online (Sandbox Code Playgroud)
这是痕迹
[Errno 30] Read-only file system: '/var/task/test-deploy': OSError
Traceback (most recent call last):
File "/var/task/web.py", line 31, in web
performAction(bb, eventBody)
File "/var/task/src/api/web.py", line 42, in performAction
zipHelper.extractAll('/tmp/myZip.zip')
File "/var/task/src/shared/utils/zipfilehelper.py", line 24, in extractAll
archive.extractall()
File "/var/lang/lib/python3.6/zipfile.py", line 1491, in extractall
self.extract(zipinfo, path, pwd)
File …Run Code Online (Sandbox Code Playgroud)