火力地堡部署错误:无法配置触发
问题描述:
我从本教程下面的示例函数:Asynchronous Programming (I Promise!) with Cloud Functions for Firebase - Firecasts火力地堡部署错误:无法配置触发
exports.emailEmployeeReport = functions.database
.ref('/employees/${eid}/reports/${rid}')
.onWrite(event => {
const eid = event.params.eid;
const report = event.data.val().report;
const root = event.data.ref.root;
const mgr_promise = root.child(`/employees/${eid}/manager`).once('value');
const then_promise = mgr_promise.then(snap => {
const mgr_id = snap.val();
const email_promise = root.child(`/employees/${mgr_id}/email`).once('value');
return email_promise;
}).catch(reason => {
// Handle the error
console.log(reason);
});;
const then_promise2 = then_promise.then(snap => {
const email = snap.val();
const emailReportPromise = sendReportEmail(email, report);
return emailReportPromise;
}).catch(reason => {
// Handle the error
console.log(reason);
});
return then_promise2;
});
var sendReportEmail = function (email, report) {
const myFirstPromise = new Promise((resolve, reject) => {
// do something asynchronous which eventually calls either:
//
setTimeout(function() {
try {
var someValue = "sendReportEmail";
console.log(someValue);
// fulfilled
resolve(someValue);
}
catch (ex) {
// rejected
reject(ex);
}
}, 2000);
});
return myFirstPromise;
}
一次我跑firebase deploy
命令,最终我收到以下错误:
functions[emailEmployeeReport]: Deploy Error: Failed to configure trigger providers/google.firebase.database/eventTypes/[email protected] (emailEmployeeReport)
我也有一个简单的hello-world方法和一个类似的触发方法,并且他们部署得很好。
我在这里错过了什么吗?
答
数据库引用中通配符的语法没有“$”。
尝试以下操作:
exports.emailEmployeeReport = functions.database .REF( '/员工/ {} EID /报告/ {}摆脱')
所以YouTube是否会呈现错了吗?请参阅https://youtu.be/NgZIb6Uwpjc?t=1m34s –
是的,不幸的是,这是错误的。 – laurenzlong
这解决了这个问题,谢谢! –