首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase云函数调用是如何计算的?

Firebase云函数调用是如何计算的?
EN

Stack Overflow用户
提问于 2020-04-20 13:45:02
回答 1查看 1.4K关注 0票数 1

在我的程序中,我有大量的Firebase函数。但我不知道调用是怎么计算的。我是这样要求的,这样我就可以尽可能减少我的调用。

首先,我有一个功能:

代码语言:javascript
复制
export const fucntionOne = functions.auth.user().onCreate((user) => {
    console.log('1 invocation used!!') 
})

当一个新用户加入时,这个函数将被执行,当然它将消耗我的1调用。

在提出这个问题之前,我做了几个实验,发现如果我使用另一个函数functionTwo并在第一个函数中调用它,如下所示:

代码语言:javascript
复制
export const fucntionOne = functions.auth.user().onCreate((user) => {
        console.log('1 invocation used!!') 
        functionTwo()
    })

function functionTwo(){
    console.log('Second function worked. . .')
}

这一次,我期望我的函数调用计数为2,但它只增加了1,这很好。

但是,假设我使用了一个与firebase-realtime-database有某种关系的函数,假设使用.onCreate() or .onDelete()之类的方法保存或检索数据,然后调用如下函数:

代码语言:javascript
复制
export const fucntionOne = functions.auth.user().onCreate((user) => {
        console.log('1 invocation used!!')       
    })

export const functionOnCreate = functions.database
    .ref('/path')
    .onCreate((snapshot, context) => {

     //Do any thing in the function   
     console.log(`functionOnCreate executed.`)

     return <something>
   })

现在,让我们明确一下,当使用functionOnCreate()方法在数据库中使用functionOne()创建某些节点时,将执行.onCreate()

但是,这一次它花费了我的2,好吧,我很清楚,这是因为functionOnCreate()是由firebase函数调用或调用的,所以这可能是原因。

但是,如果我通过手动调用函数(比如functionTwo() )来在数据库上执行任务的话。那它能让我免于额外的函数调用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 14:38:32

  • ,您需要为调用云函数的次数收取费用。在第二个代码片段中,只有一个云函数。这个云函数中对其他常规JavaScript函数的调用是不收费的,operations.
  • You是根据代码运行的时间以及它在这段时间内分配的内存来收费的。调用多个常规函数将增加代码运行的时间,并且可能会增加内存required.
  • Performing --在functions.auth.user().onCreate触发的云函数中写入额外的数据库将确实防止functions.database.ref('/path').onCreate(触发云函数的费用。不过,我建议您对调用次数进行一些计算,因为调用计数很少是其成本的主要因素。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61323989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档