mysql触发器 FirebaseCronJobs
由于Firebase(实时数据库)不支持cron-jobs,因此我正在使用cron-job.org来安排http触发器。该功能应该在每天结束时触发一次,因此大约在晚上11:55。问题是我只希望cron-job.org能够触发http端点,而没有其他人(例如,某人一天多次尝试试图触发它)。如何在云功能中实现这一目标? 我已经设置了cronjob,这就是我现在拥有的所有代码: exports.findAndDeleteSevenDayJobs = functions.https.onRequest((req, res) => { console.log('req',req); }); 另外,cron-job.org提供了以下功能: 而且我不知道如何使用它。 1> Walter Monec..: 要在Firebase RDB中创建cron-jobsmysql触发器,请使用cron-jobs.org等第三方服务 创造钥匙 为了确保一切安全,您必须生成一个安全密钥,从现在开始 YourSelfGeneratedButSecureKey。 您可以在终端中输入以下内容来生成一个: node -e "console.log(require('crypto').randomBytes(20).toString('hex'))" 创建Cron工作 创建一个新的cron-job,它将击中您的云函数端点,并将创建的键作为url查询附加,如下所示: {projectSpecific}.cloudfunctions.net/{nameOfFunction}?key={YourSelfGeneratedButSecureKey} 通过在终端中使用以下命令,将密钥设置到您的环境中:firebase functions:config:set cron.key="{YourSelfGeneratedButSecureKey}" 云功能 为了确保一切都是最大的安全性,您可以secure-compare通过键入安装npm install --save secure-compare; 然后在您的云函数中: const secureCompare = require('secure-compare'); exports.{nameOfFunction} = functions.https.onRequest((req, res) => { const { key } = req.query; if (!secureCompare(key, functions.config().cron.key)) { console.log('Key in request and in env do NOT match'); res.status(403).send('Security key does not match.'); return null; } // DO REPETITIVE STUFF SECURELY }); (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |