【发布时间】:2014-04-05 14:10:53
【问题描述】:
我需要实现一个侦听器,一旦它被外部消息触发,它就会写入我的 firebase。为两页代码运行外部服务器对我来说似乎不合理,我已经阅读了 Firebase 的静态托管。
能否像在 Backendless 等其他 BaaS 上一样在 Firebase 上运行小型自定义脚本?
【问题讨论】:
标签: firebase
我需要实现一个侦听器,一旦它被外部消息触发,它就会写入我的 firebase。为两页代码运行外部服务器对我来说似乎不合理,我已经阅读了 Firebase 的静态托管。
能否像在 Backendless 等其他 BaaS 上一样在 Firebase 上运行小型自定义脚本?
【问题讨论】:
标签: firebase
自 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
});
当然,这需要一个活动/连接的客户端,而不是您试图避免的服务器。
如果您不想这样,您将需要一台服务器。现在有很多免费且价格合理的选择。
【讨论】: