加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql触发器 FirebaseCronJobs

发布时间:2023-02-08 12:48:08 所属栏目:MySql教程 来源:
导读:  由于Firebase(实时数据库)不支持cron-jobs,因此我正在使用cron-job.org来安排http触发器。该功能应该在每天结束时触发一次,因此大约在晚上11:55。问题是我只希望cron-job.org能够触发http端点,而没有其他人
  由于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
  });
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!