Проблема с использованием пиробазы в Heroku - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь получить доступ к своей базе данных Firebase из моего сервера Heroku. Я использую пакет pyrebase, поскольку он работает лучше, чем пакет firebase. Но хотя я могу получить доступ к своим данным Firebase при локальной установке python, у меня возникла проблема с запуском на Heroku. Так что настройка пиребазы выглядит примерно так:

config = {
    "apiKey": os.environ.get("firebase_api"),
    "authDomain": os.environ.get("firebase_auth_domain"),
    "databaseURL": os.environ.get("firabase_database_url"),
    "storageBucket": os.environ.get("firebase_storage_bucket"),
    "serviceAccount": os.environ.get("firebase_services_account")
}
fb = pyrebase.initialize_app(config)
email = os.environ.get("firebase_email")
pw = os.environ.get("firebase_email_password")
auth = fb.auth()
user = auth.sign_in_with_email_and_password(email=email, password=pw)

Затем вы можете создать объект базы данных следующим образом:

db = fb.database()

И, наконец, вы можете получить доступ к своим данным следующим образом:

data = db.child("Path").child("To").get(user["Data"]).val()

Все это прекрасно работает, когда я запускаю код локально. Но при развертывании в Heroku возникает проблема со строкой db = fb.database(). Я получаю сообщение об ошибке:

'NoneType' object has no attribute 'endswith'

Я не думаю, что проблема связана с моей конфигурацией базы данных, поскольку она работает локально. Кто-нибудь знает, что означает это сообщение об ошибке в этой строке?

Я проверил if fb is None, и это не так. fb - объект пиребазы: <pyrebase.pyrebase.Firebase object at 0x7f509d433c50>

...