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

mysql触发器 FirebaseCronJobs

发布时间:2023-01-08 15:09:46 所属栏目:MySql教程 来源:互联网
导读: 由于Firebase(实时数据库)不支持cron-jobs,因此我正在使用cron-job.org来安排http触发器。该功能应该在每天结束时触发一次,因此大约在晚上11:55。问题是我只希望cron-job.org能够触发h

由于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 
});

(编辑:武陵站长网)

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