1

我在使用AWS Lambda中的googledrive凭据时出现问题,在调用在本地计算机上的功能,所有的工作,但在我30分钟我在文件file.py有lambda表达式错误AWS LAMBDA“errorMessage”:“[Errno 30]只读文件系统:'drive-python-quickstart.json'”

"errorMessage": "[Errno 30] Read-only file system: 'drive-python-quickstart.json'", 
"errorType": "OSError", 
    "stackTrace": [ 
    [ 
     "/var/task/lambda_function.py", 
     33, 
     "lambda_handler", 
     "pageSize=10,fields=\"nextPageToken, files(id, name)\").execute()" 
    ], 
    [ 
     "/var/task/oauth2client/_helpers.py", 
     133, 
     "positional_wrapper", 
     "return wrapped(*args, **kwargs)" 
    ], 
    [ 
     "/var/task/googleapiclient/http.py", 
     835, 
     "execute", 
     "method=str(self.method), body=self.body, headers=self.headers)" 
    ], 
    [ 
     "/var/task/googleapiclient/http.py", 
     162, 
     "_retry_request", 
     "resp, content = http.request(uri, method, *args, **kwargs)" 
    ], 
    [ 
     "/var/task/oauth2client/transport.py", 
     186, 
     "new_request", 
     "credentials._refresh(orig_request_method)" 
    ], 
    [ 
     "/var/task/oauth2client/client.py", 
     761, 
     "_refresh", 
     "self._do_refresh_request(http)" 
    ], 
    [ 
     "/var/task/oauth2client/client.py", 
     802, 
     "_do_refresh_request", 
     "self.store.locked_put(self)" 
    ], 
    [ 
     "/var/task/oauth2client/file.py", 
     79, 
     "locked_put", 
     "f = open(self._filename, 'w')" 
    ] 
    ] 
} 

后〜部署AWS拉链我有这样的代码:

def locked_put(self, credentials): 
    """Write Credentials to file. 
    Args: 
     credentials: Credentials, the credentials to store. 
    Raises: 
     IOError if the file is a symbolic link. 
    """ 
    self._create_file_if_needed() 
    _helpers.validate_file(self._filename) 
    f = open(self._filename, 'w') 
    f.write(credentials.to_json()) 
    f.close() 

def locked_delete(self): 
    """Delete Credentials file. 
    Args: 
     credentials: Credentials, the credentials to store. 
    """ 
    os.unlink(self._filename) 

我尝试将f = open(self._filename,'w')设置为'r',但它没有帮助,也许谁知道我该如何解决它?请建议。

回答

3

显然你正在尝试写一个文件在哪里是不允许的。 Lambda目前仅支持将文件写入/ tmp目录。

+0

谢谢,我修好了! – Andrej

+0

可以请你分享你如何修复它!我现在面临这个问题 - @Andrej –

+0

我只是把所有的credents文件放在.zip ant set target到项目目录中。 – Andrej

相关问题