Firebase云函数返回错误429

时间:2019-03-30 15:29:03

标签: firebase google-cloud-functions

我有Firebase的火花计划,所以有免费的。我试图将一个csv文件写入我的Firestore Db。它有13500条记录,并且在50-100次写入云函数后,我称之为429(请求过多)错误。我将每条记录发送到我的Firebase Cloud函数,该函数将数据写入文档。在每个请求之间,我等待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");
      }

1 个答案:

答案 0 :(得分:2)

选中https://console.firebase.google.com/

功能->日志

显示吗? 未配置结算帐户。无法访问外部网络,并且配额受到严格限制。配置结算帐户以消除这些限制

功能->健康状况

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

我的云功能发生了同样的问题,启用计费后,问题已解决。

或尝试根据Google文档使用increate Quota限制

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

配额指标

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