首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中导入数据时找不到我的防火墙实时数据库。

在python中导入数据时找不到我的防火墙实时数据库。
EN

Stack Overflow用户
提问于 2021-09-20 01:14:03
回答 2查看 368关注 0票数 0
代码语言:javascript
运行
复制
import pandas as pd
import firebase_admin
from firebase_admin import credentials, firestore

cred = credentials.Certificate("crt")
firebase_admin.initialize_app(cred,{
'databaseURL': 'url'
})

db = firestore.client()
actor_ref = db.collection('actors')

# Import data
df = pd.read_csv("./hw1_datasets/actor.csv")
tmp = df.to_dict(orient='records')
list(map(lambda x: actor_ref.add(x), tmp))

我运行这个脚本是为了将csv导入我的Firebase实时数据库,它一直说项目不存在,或者它不包含活动的或数据库。我使用相同的google帐户创建了一个防火墙实时数据库,我不知道它为什么说没有数据库。谷歌云不支持Firebase的实时数据库吗?任何帮助都会得到强烈认可。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-20 11:09:13

您的问题似乎是将Firebase实时数据库和Firestore混为一谈。虽然您已经提到您正在使用Firebase实时数据库,但是您的python脚本是用来将数据导入Firestore的。请注意,Firestore和Firebase实时数据库是两个不同的数据库。

您收到的错误消息表明,该项目没有Firestore。因此,要解决错误,请转到Firebase控制台,并在Firestore中创建一个数据库。在创建Firestore数据库之后,添加一个名为“actors”的集合。您可以按照前面提到的步骤在Firebase控制台中创建一个Firestore数据库。

如果您想使用Firebase实时数据库,则必须在python脚本中以不同的方式初始化它。您可以将以下内容视为了解如何初始化Firebase实时数据库的参考。

首先,您必须从firebase_admin导入‘db’,如下所示

代码语言:javascript
运行
复制
from firebase_admin import db

然后,您必须通过接受serviceAccountKey.json文件来创建凭据对象,您可以在Firebase控制台中的项目概述>项目设置页面中生成该文件

代码语言:javascript
运行
复制
cred = credentials.Certificate('path/to/serviceAccountKey.json')

接下来您必须初始化数据库,如下所示-

代码语言:javascript
运行
复制
firebase_admin.initialize_app(cred, {
    'databaseURL': 'https://databaseName.firebaseio.com'
})

现在,要访问Firebase实时数据库,您必须创建一个引用,如下所示

代码语言:javascript
运行
复制
ref = db.reference('databaseName')

有关如何初始化Firebase实时数据库的更多详细信息是这里

要将数据读取并保存到Firebase实时数据库中,可以分别参考本文件本文件

票数 1
EN

Stack Overflow用户

发布于 2021-09-20 01:19:33

问题在于:

代码语言:javascript
运行
复制
firebase_admin.initialize_app(cred,{
'databaseURL': 'url'
})

databaseURL是对实时数据库的引用,而这似乎不足以让您的代码找到项目的Firestore数据库。如设置Python对Firestore的访问上的文档所示,您需要(也)传递项目ID,然后才能访问Firestore:

代码语言:javascript
运行
复制
firebase_admin.initialize_app(cred, {
  'projectId': project_id,
})

db = firestore.client()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69248201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档