我有一段时间没有更改我的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部署 - 仅功能,我会收到以下错误:
typeerror:functions.firestore.document不是函数
问题是我的下一个云功能(我几个月没有更改并且始终使用工作)也从functions.firestore.document开始“旧”功能。因此,现在我无法再推出更新或添加新功能。有人知道怎么了吗?
1st代API编写的,但是最新的Firebase功能使用了新的2nd-genAPI。 您可能应该开始将代码迁移到新的API。 要么是,要么继续使用旧版本的firebase功能而不会升级它。 Just更改:
TO:
const functions = require('Firebase-functions/v1');