【问题标题】:Can I host a listener on Firebase?我可以在 Firebase 上托管一个监听器吗?
【发布时间】:2014-04-05 14:10:53
【问题描述】:

我需要实现一个侦听器,一旦它被外部消息触发,它就会写入我的 firebase。为两页代码运行外部服务器对我来说似乎不合理,我已经阅读了 Firebase 的静态托管。

能否像在 Backendless 等其他 BaaS 上一样在 Firebase 上运行小型自定义脚本?

【问题讨论】:

    标签: firebase


    【解决方案1】:

    自 2017 年 3 月起,可以使用 Cloud Functions for Firebase 在 Google 的服务器上运行 JavaScript 代码的小型 sn-ps 以响应 Firebase 中的事件。通过写入数据库触发函数可以很简单:

    // Listens for new messages added to /trigger
    exports.onTrigger = functions.database.ref('/trigger')
        .onWrite(event => {
          // Grab the current value of what was written to the Realtime Database.
          const original = event.data.val();
          // TODO: write value to data and return a promise
        });
    

    我强烈建议阅读文档并使用common use-cases for Cloud Functions for Firebase 查看页面。

    旧答案

    您无法在 Firebase 的服务器上执行自己的代码。但是,您可以让触发器流过 Firebase,然后将更新写入 Firebase。

    var trigger = new Firebase('http://yourfirebase.firebaseio.com/trigger');
    var data = new Firebase('http://yourfirebase.firebaseio.com/data');
    handlersRef.on('value', function(snapshot) {
        // write value to data
    });
    

    当然,这需要一个活动/连接的客户端,而不是您试图避免的服务器。

    如果您不想这样,您将需要一台服务器。现在有很多免费且价格合理的选择。

    【讨论】:

    • 问题是我需要一个服务器到服务器的连接,而且由于 Firebase 不允许服务器端代码,我别无选择,只能为几行代码运行一个单独的服务器。跨度>
    • 为什么它必须是运行该代码的服务器?它是用 Firebase 没有绑定的语言编写的吗?
    • 好吧,我需要处理一个 PayPal IPN 消息。侦听器最容易用 PHP 或 Perl 实现,但我不明白如何将脚本与 Firebase 集成。 :(
    • 这两种语言都可以调用 Firebase 的 REST-full API。但实际上它们需要在浏览器之外运行。在哪里托管 PHP 或 Perl 的问题不适合 Stack Overflow,但搜索应该为您提供比一生都无法处理的更多选择..
    猜你喜欢
    • 2017-10-20
    • 2016-06-22
    • 2012-03-27
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多