当前位置: 首页 > 知识库问答 >
问题:

Firebase组织的云功能

支嘉祥
2023-03-14

我知道这里已经有人问过这个问题,但它没有回答我的问题。我的问题是,我们怎样才能分解指数。js用于云函数,包括onWrite调用等。

我意识到您可以使用“要求”并引入外部代码。它仍然留下一些代码(例如,在Franks OCR示例中),在index.js.

理想情况下,我希望能够将整个onWrite事件触发器移动到另一个文件中。

索引中的示例。js:

exports.sysQueueUserNew = functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event) => {
      // do something
})

如何将整个函数event watch/call移动到另一个js文件中,并从索引中调用它。js?

我的索引。js已经变得相当庞大,为了组织目的阅读它已经成为一种痛苦。

理想情况下,我想要我的索引。js必须非常有条理,例如:

--in  index.js --
    /// User cleanup
    userHelpers()    

    /// SYS Logs
    sysLogs()

--and in userHelpers.js have the onWrite trigger for example---
   functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event) => {
      // create user
   })

等......

这是否可能,而不必像这样编写代码(la Franks OCR示例):

var test = require('./test')

exports.sysQueueUserNew = functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event) => {
      // do something
      test.doCleanup()
})

提前谢谢。。。。

共有2个答案

糜昌胤
2023-03-14

作为迈克尔回答的变体,我发现这个组织非常整洁,有点面向对象

// index.js
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)

const user = require('./user')(admin)
exports.sendWelcomeEmail = user.sendWelcomeEmail

// user.js
const functions = require('firebase-functions')

module.exports = function(admin) {

    let sendWelcomeEmail = functions.auth.user().onCreate(event => {
        // return admin.database().ref().update({})
    })

    return {
        sendWelcomeEmail: sendWelcomeEmail
    }
}
金晗日
2023-03-14

您可以轻松地将功能分布到多个文件中。下面是一个例子:

////////////// index.js

exports.sysQueueUserNew = require('./sys-queue-user-new');
exports.userCleanup = require('./user-cleanup');

///////////// sys-queue-user-new.js

const functions = require('firebase-functions');

module.exports = functions.database
  .ref("/sys/queue/user_new/{queueId}")
  .onWrite(e => {
    // do something
  });

///////////// user-cleanup.js

const functions = require('firebase-functions');

module.exports = functions.auth.user().onDelete(e => {
  // do something
});
 类似资料:
  • 在研究了Firebase文档、视频、StackOverflow、大量文章之后。。。以“简单”的方式组织多个(大量)云功能并不明显。特别是,由于Firebase官方文件没有提供明确的愿景/建议。实际上,真正的问题是缺乏关于如何从一开始就建立一个具有很多功能的Firebase项目的清晰文档。 考虑到以下几点,我试图找到一种简单的方法: 基于Firebase文档(每个Firebase新用户都在阅读) 只

  • 问题内容: 尝试使用PayPal-node-SDK向Paypal的API请求 但我不断出错: 我尝试过的事情: 向完全不同的主机发出请求 将请求包装为 预先考虑到主机 问题是什么? 问题答案: 您需要按照付费计划进行外部API请求。 Firebase的Blaze计划(随用随付)为云功能免费分配。https://firebase.google.com/pricing/

  • null 云存储桶是云功能工作所必需的吗?如果没有,我怎么能回到这些变化发生之前的地方。请引导我。

  • 问题内容: 我们正在开发使用新的Firebase云功能的应用程序。当前正在发生的事情是将事务放入队列节点中。然后函数删除该节点并将其放入正确的节点。由于能够脱机工作,因此已经实现了该功能。 我们当前的问题是功能的速度。该函数本身大约需要400毫秒,所以没关系。但是有时该功能需要很长时间(大约8秒),而该条目已被添加到队列中。 我们怀疑服务器需要花费一些时间来启动,因为在第一个操作之后我们再次执行该

  • 我有一个云函数,可以获取一些JSON数据。这就是它的全部功能。我遵循了视频中强调的提示:https://www.youtube.com/watch?v=IOXrwFqR6kY 所以,我有cors和rp依赖项,除了我的函数之外什么都没有。数据是压缩的(我认为这是默认功能)。Chrome开发工具显示数据是gzip压缩的。压缩后是37KB。开发工具一致显示TTFB约为4.5秒。内容下载仅约为7.8ms

  • 问题内容: 我正在使用Android上的Firebase Cloud Functions库,并用于调用云函数。 问题在于该函数需要10到15秒的时间才能将结果返回给客户端,因此客户端会抛出异常。 码 如何更改超时,以便客户端在引发异常之前会等待更多时间? 注意。 我没有使用OkHttp,Retrofit或默认的系统网络功能,而是在使用Firebase Cloud Functions库()来调用该函