Python 持续关注Firebase的变化

Python 持续关注Firebase的变化,python,firebase,Python,Firebase,我正在尝试创建一个服务器,该服务器始终打开与Firebase数据库的连接,以监视更改,然后执行一项功能(在我的情况下,发送推送通知)。这个问题涉及如何保持开放连接 如果可能的话,我想在我的服务器上使用Python。这里似乎有一个很好的Firebase Python包装器: 我现在可以很容易地查询我的数据库以返回信息,但似乎没有任何关于如何持续监视更改的文档 我该怎么做呢?这个Python包装器似乎使用了RESTAPI。在这种情况下,无法使用核心Firebase功能,该功能将观察员附加到接受实时回

我正在尝试创建一个服务器,该服务器始终打开与Firebase数据库的连接,以监视更改,然后执行一项功能(在我的情况下,发送推送通知)。这个问题涉及如何保持开放连接

如果可能的话,我想在我的服务器上使用Python。这里似乎有一个很好的Firebase Python包装器:

我现在可以很容易地查询我的数据库以返回信息,但似乎没有任何关于如何持续监视更改的文档


我该怎么做呢?

这个Python包装器似乎使用了RESTAPI。在这种情况下,无法使用核心Firebase功能,该功能将观察员附加到接受实时回调函数的数据

实际上,我现在正在编写一个类似的脚本。在我的例子中,我希望观察我们存储在Firebase数据库中的日志。经过一点研究之后,我决定使用nodejs将observer附加到Firebase数据,并将任何新的数据写入一个外部文件,我可以稍后处理(是的,我也更喜欢Python,所以这就是我只使用nodejs从数据库中获取数据的原因)

以下是我的脚本中的一个片段:

var ref = new Firebase("https://example.firebaseio.com");
var logsRef = new Firebase("https://example.firebaseio.com/logs");

var authToFirebase = function(loggedCallback) {
    ref.authWithPassword({        
        email: "user@example.com",
        password : "password"
    }, function(error, authData) {
        if (error) {
            console.log("Login Failed!", error);
        } else {
            console.log("Authenticated successfully with uid " + authData.uid);
            loggedCallback();
        }
    })
}

authToFirebase(function() {
    //attaching child_added observer to logs
    logsRef.on("child_added", function(snap) {                
    }, function(errorObject) {
        console.log("The read failed: " + errorObject);
    });
});
正如你所看到的,这很简单。请注意,首先我登录到一个现有帐户,因为我要观察的数据不能通过Firebase规则机制供未经授权的用户使用


我在这里使用的是“child_added”事件,但您可能需要根据自己的需要调整要观察的事件类型。

感谢您的详细回复,我非常感谢!所以我的逻辑将进入
函数(snap){…},
?是的,没错。nodejsapi与Firebase的javascript API相同,并且有惊人的文档记录。您可以在这里查看如何检索数据:答案很好!请注意。您可以使用来使用该数据,在这种情况下不必进行轮询。