1

J'ai des problèmes avec les informations d'identification googledrive dans AWS Lambda, après avoir déployé mon fichier .zip avant d'appeler le fonction sur la machine locale, tout est un travail, mais après que je déploie zip dans AWS après ~ 30min i ayant erreur de fonction lambdaAWS LAMBDA "errorMessage": "[Errno 30] Système de fichiers en lecture seule: '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')" 
    ] 
    ] 
} 

dans le fichier file.py j'ai ce code:

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) 

i essayer de mettre f = open (self._filename, 'w') mettre à 'r', mais cela n'aide pas, peut-être qui sait comment puis-je le réparer? Veuillez suggérer.

Répondre

3

Apparemment, vous essayez d'écrire un fichier où cela n'est pas autorisé. Lambda ne supporte actuellement que l'écriture de fichiers dans le répertoire/tmp.

+0

Merci, je le répare! – Andrej

+0

pourriez-vous s'il vous plaît partager comment vous l'avez réparé! Je suis confronté à ce problème maintenant - @Andrej –

+0

Je viens de mettre tous les fichiers de créateurs sur .zip ant set target to projet dir. – Andrej