使用Pyrebase将JSON文件从Google App Engine上载到Firebase存储中

问题描述 投票:0回答:1

我有一个非常简单的Flask网络应用程序,它在GAE中运行,可以从Firebase Storage下载JSON文件,并在必要时将其替换为更新后的文件。一切正常,但是每当我尝试创建新文件时,GAE都会引发IOError异常。我使用Firebase Storage是因为我知道无法在GAE环境中读取/写入文件,但是我应该如何使用Pyrebase storage.child('foo.json').put('foo.json')函数呢?我做错了什么?请检查下面的代码。

firebase_config = {my_firebase_config_dict}

pyrebase_app = pyrebase.initialize_app(firebase_config)
storage = pyrebase_app.storage()

@app.route('/')
def check_for_updates() :
    try :
        json_feeds = json.loads(requests.get('http://my-firebase-storage-url/example.json').text()
        # Here I check if I need to update example.json
        # ...
        with open("example.json", "w") as file:
            json.dump(info, file)
            file.close()
            storage.child('example.json').put('example.json')
        return 'finished successfully!'
    except IOError :
        return 'example.json doesn't exists'
python-3.x google-app-engine flask firebase-storage pyrebase
1个回答
0
投票

如果我的理解正确,您只需要在GAE中临时使用此文件,然后将其放入云存储中即可。根据此doc,您可以像在普通OS中那样进行操作,但可以在/ tmp文件夹中进行此操作:

如果您的应用仅需要写入临时文件,则可以使用标准将文件写入名为/ tmp的目录的Python 3.7方法

我希望它会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.