我正在尝试使用csv writer在写入模式下打开一个csv文件,它在本地可以工作,但是当我尝试在aws lambda中执行相同操作时,它说是只读文件系统。我确定我将以写二进制模式打开。
下面是参考代码。
f = csv.writer(open('abc.csv','wb+'))
f.writerow(['botName','botVersion','utteranceString','count','distinctUsers','firstUtteredDate','lastUtteredDate','status'])
以下是我得到的错误:
[Errno 30] Read-only file system: 'abc.csv' this is exception
编辑1 通过在文件路径中添加/ tmp /可以修复上述错误,但是我无法将在/ tmp中创建的csv文件移动到s3存储桶 我使用了以下代码
s3_u.meta.client.upload_file( '/tmp/'+output_filename, 'codepipelinedev',k)
这正在s3存储桶中生成空文件。如果我使用不存在的文件进行测试,则会引发错误。 当我在本地尝试相同的操作时,将使用文件中的预期数据创建csv文件。但是在传输这些文件时,我在我们的S3存储桶中得到了空文件。
对此表示感谢 预先感谢
答案 0 :(得分:0)
AWS Lambda函数仅对Lambda运行时环境中的/tmp
文件夹具有写访问权限。如果您需要修改该文件,则需要先将其复制到/tmp
,然后在此处进行修改。