Firebase Cloud Functions重新部署错误:无法处理请求(使用Firestore和googleapis时)

时间:2018-06-29 07:21:29

标签: firebase google-cloud-firestore google-cloud-functions google-api-nodejs-client

我有一个Firebase Cloud功能,在重新部署后,在大约30秒钟后无法到达。在30秒内,它返回 500 Error: could not handle the request。大约30秒后,它会正常运行。

我已将该函数简化为一个简单的示例,该示例再现了该错误。当需要googleapis 并且该函数向firestore查询时,似乎发生了错误。 删除googleapis require语句 firestore查询可消除该错误。

googleapis或firebase-admin是否与云功能不兼容?如何编写同时使用两者的函数?

index.js

const functions = require('firebase-functions');
const express = require('express');
const admin = require('firebase-admin');
const pack = require('./package.json');
const {google} = require('googleapis');

admin.initializeApp();

const app = express();
app.post('/', (req, res) => {
  const name = req.body.name || 'unknown';

  admin.firestore().doc('settings/doesnotexist').get()
    .then(ref => {
      res.send({
        message: `Hello ${name}. Exists: ${ref.exists}`,
        version: pack.version,
      });
    });
});

exports.testDeployCody = functions.https.onRequest(app);

package.json

{
  "version": "0.1.56",
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions:testDeployCody",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "express": "^4.16.3",
    "firebase-admin": "^5.12.1",
    "firebase-functions": "^1.1.0",
    "googleapis": "^30.0.0",
    "lodash": "^4.17.10"
  },
  "devDependencies": {
    "firebase-tools": "^3.19.1"
  }
}

复制步骤:

  1. 部署云功能(我使用npm run deploy
  2. 测试该功能是否可以通过HTTPS
  3. 增加package.json版本
  4. 重新部署功能
  5. firebase工具说出Deploy Complete!之后,通过HTTPS反复测试该功能以查看错误消息

0 个答案:

没有答案