“类型错误:functions.firestore.document 不是 Firebase Cloud Functions 中的函数”

问题描述 投票:0回答:1

我已经有一段时间没有更改我的 firebase 函数了,昨天我想创建一个新的 firebase 函数并将其添加到我所有函数的顶部,所以这是我的第一行:

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

admin.initializeApp();
const db = admin.firestore();
const storage = admin.storage().bucket();
const app = express();
app.use(cors({ origin: true }));

exports.runPredictionOnUpload = functions.firestore
.document('Project/{projectID}/models/{modelID}/predictions/{docId}')
.onCreate(async (snap, context) => {
const { projectID, modelID, docId } = context.params;
const document = snap.data();

if (!document || !document.data) {
  console.error('Missing data field in the document.');
  await admin.firestore().collection('Project').doc(projectID).collection('models').doc(modelID).collection('predictions').doc(docId).update({
    status: 'error',
    error: 'Data field is missing',
  });
  return;
}

}

功能还没有完成。但如果我现在运行 firebase deploy --only 函数,我会收到以下错误:

类型错误:functions.firestore.document 不是函数

问题是我的下一个云函数(我已经几个月没有更改并且总是可以工作)也从functions.firestore.document开始,所以如果我删除新函数,我的所有函数都会出现相同的错误“旧”功能。所以现在我无法再推送更新或添加新功能。有谁知道出了什么问题吗?

javascript firebase google-cloud-firestore google-cloud-functions
1个回答
0
投票

看起来您升级了 firebase-functions 依赖项,但没有更新代码。 您的函数是使用旧的 1st-gen API 编写的,但最新的 firebase-functions 使用新的 2nd-gen API。 您可能应该开始将代码迁移到新的 API。 或者继续使用旧版本的 firebase-functions 而不升级它。

© www.soinside.com 2019 - 2024. All rights reserved.