Firebase数据库数据到R

2024-10-01 13:31:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Google中有一个数据库Firebase,里面有流式传感器数据。我有一个Shiny应用程序,需要读取这些数据并映射传感器及其值。在

我试图将数据从Firebase拉到R,但找不到任何这样做的包。应用程序当前正在本地下载的数据上运行。在

我找到了FireData包,但不知道它是如何工作的。在

我知道您可以使用Python从Firebase中提取数据,但是我不知道足够的Python来实现这一点,但是如果需要,我愿意用rPython在R中编写它。在

我有: -Firebase项目链接 -用户名 -密码

以前有人试过Firebase和R/Shiny吗?在

我希望我的问题足够清楚。在


Tags: 数据项目数据库应用程序密码链接google流式
1条回答
网友
1楼 · 发布于 2024-10-01 13:31:13

开始使用R package fireData的基础知识如下。首先,您需要确保您已经设置了一个firebase account on GCP(Google云平台)。一旦建立了一个新的项目并给它命名

Set up new firebase project

现在您已经有了一个项目,选择概述页面上的选项“addfirebase to your web app”。它将提供您所需的所有凭证信息。在

[]Get credentials for a web app[3]

在R中处理这类信息的一种方法是将其添加到.Renviron文件中,这样就不需要将其与代码共享(例如,如果它转到github)。关于how to manage .Renviron files in the Efficient R Programming Book有一个很好的描述。在

API_KEY=AIzaSyBxxxxxxxxxxxxxxxxxxxLwX1sCBsFA
AUTH_DOMAIN=stackoverflow-1c4d6.firebaseapp.com
DATABASE_URL=https://stackoverflow-1c4d6.firebaseio.com
PROJECT_ID=stackoverflow-1c4d6

在重新启动R后(如果您做了任何更改),这将可用于R会话。在

所以现在你可以试试。但首先,更改firebase数据库的规则,以允许任何人进行更改和读取(为了使这些示例有效)

Change firebase database permissions

现在可以运行以下示例

^{pr2}$

upload函数将返回它保存的文档的名称,然后您可以使用它来下载它。在

> upload(x = mtcars, projectURL = db_url, directory = "main")
[1] "main/-L3ObwzQltt8IKjBVgpm"   

您上传的数据帧(或值向量)将在Firebase数据库控制台中以该名称立即可用,因此您可以验证一切是否按预期进行。在

现在,例如,如果返回的名称是main/-L3ObwzQltt8IKjBVgpm,那么可以按如下方式下载它。在

download(projectURL = db_url, fileName = "main/-L3ObwzQltt8IKjBVgpm")

创建用户后,可以要求身份验证。例如,可以像这样创建用户(用户出现在firebase控制台中)。在

createUser(projectAPI = api_key, email = "test@email.com", password = "test123")

然后您可以获得他们的用户信息和令牌。在

registered_user <- auth(api_key, email = "test@email.com", password = "test123")

然后使用返回的tokenID访问文件。在

download(projectURL = db_url, fileName = "main/-L3ObwzQltt8IKjBVgpm", 
           secretKey = api_key, 
           token = registered_user$idToken)

相关问题 更多 >