让一个函数动态部署另一个函数是不可行的。我建议创建一个周期性运行的函数,并检查它在触发时应该做什么工作。这项工作可以使用Firestore中的文档来描述,所以您所要做的就是查询这些文档,并根据您找到的内容采取行动。
根据文档,以下是运行cron作业的代码
exports.cronJob = functions.pubsub.schedule('5 11 * * *')
.timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
.onRun((context) => {
console.log('This will be run every day at 11:05 AM Eastern!');
return null;
});
但我想在中检测到任何更改时运行cron作业
exports.changeDetected = functions.firestore
.document('/myTable/{myID}')
.onWrite((snapshot, context) => {
const dataAfterWrite = snapshot.after.data();
const myID = context.params.myID;
/*I want to deploy a cron job cloud function from here with the name of myID. something like this:
exports.{$`myID`} = functions.pubsub.schedule('5 11 * * *')
.timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
.onRun((context) => {
console.log('This will be run every day at 11:05 AM Eastern!');
return null;
});
*/
return true;
});
有可能在火球云函数中做到这一点吗?当检测到任何集合中有任何更改时,我们可以部署firebase cron作业云函数吗?