【问题标题】:How to delete firestore security rules history如何删除 Firestore 安全规则历史记录
【发布时间】:2021-04-28 07:36:02
【问题描述】:

因此我们偶然发现了存储的 Firestore 安全规则的配额限制为 2500 条的问题。在部署期间,CLI 会询问我们是否要删除最旧的 10 条规则。由于我们想要自动化部署,因此对控制台提示做出反应并不是我们想要的。

任何人都知道如何批量删除完整的 Firestore 安全规则历史记录,而无需通过 Firebase 手动一一进行?

我在 Google 方面找不到任何相关信息...

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    不确定是否可以一次删除所有安全规则,但根据documentation,您可以通过创建删除最旧规则的逻辑来避免手动工作:

    例如,要删除部署时间超过 30 天的所有规则集:

    const thirtyDays = new Date(Date.now() - THIRTY_DAYS_IN_MILLIS);
    const promises = [];
    allRulesets.forEach((rs) => {
      if (new Date(rs.crateTime) < thirtyDays) {
        promises.push(admin.securityRules().deleteRuleset(rs.name));
      }
    });
    await Promise.all(promises);
    console.log(`Deleted ${promises.length} rulesets.`);
    

    【讨论】:

    • 谢谢这对我有帮助,不知道这部分文档是谁写的,但它充满了错误。很难理解“crateTime”和 admin.securityRules().listRulesetMetadata(pageToken: pageToken);通过任何开发...
    • 所以这似乎返回的不仅仅是 firestore 规则,我得到的规则条目的日期在我的 firestore 历史记录中没有条目,而且似乎没有办法过滤这些。
    • @user3399276 很高兴您发现此答案很有帮助。我将创建一个关于过滤规则条目的新线程
    猜你喜欢
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 2017-06-16
    相关资源
    最近更新 更多