【问题标题】:Firebase cloud function returns error 429Firebase 云函数返回错误 429
【发布时间】:2019-08-21 07:27:33
【问题描述】:

我有 Firebase 的 spark 计划,所以是免费的。我试图将 csv 文件写入我的 Firestore Db。它有 13500 条记录,在 50-100 条记录之后,我调用的云函数返回 429(请求太多)错误。我将每条记录发送到我的 firebase 云函数,该函数将我的数据写入文档。在每个请求之间我等待 5 秒。有人知道问题出在哪里吗?

       export const WriteToDb = functions.region("europe-west1").https.onRequest((request, response) => {

      try {
       var recievedData:string = request.body + '';
       var splittedData = recievedData.split(",");



       var data  = {City: splittedData[0],
                      Zipcode: splittedData[1],
                      State: splittedData[2]};

      const promise = admin.firestore().collection("Cities").doc().set(data);
       promise.then( () => {
       response.send("worked");
        }).catch(() => {
         console.log("Failed in PROMISE");
           response.send("crashed");
                      });               
      } 

catch (error) {
         console.log(error);

         response.send("Failed before DB connecection");
      }

【问题讨论】:

  • 您很可能只是达到了免费层的限制。您可以将它们组合起来然后只写一次到firebase,而不是每个条目写一次吗?

标签: firebase google-cloud-functions


【解决方案1】:

查看https://console.firebase.google.com/

函数 -> 日志

它显示了吗? 未配置结算帐号。外部网络无法访问,配额受到严格限制。配置结算帐号以移除这些限制

功能 -> 健康

错误:超出配额(配额组“FunctionCallsNonbillable”超出配额,并限制消费者“project_number:”的服务“cloudfunctions.googleapis.com”的“每 100 秒的函数调用次数”。);要增加配额,请通过https://console.cloud.google.com/billing?project= 在您的项目中启用计费。函数无法执行。

我的云功能出现同样的问题,启用计费后,问题解决了。

或者尝试按照 Google 文档创建配额限制

Google Firebase 限制请求。 请参考https://cloud.google.com/service-infrastructure/docs/rate-limiting

配额指标

指标是一个命名的计数器,用于测量一段时间内的某个值。例如,服务接收到的 HTTP 请求的数量是一个指标。配额指标是用于配额和速率限制目的的指标。当服务发生活动时,一个或多个配额指标可能会增加。当指标值达到预定义的配额限制时,服务应拒绝该活动并返回 429 错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    相关资源
    最近更新 更多