Firestore:使用request.resource.size规则返回FirebaseError:缺少权限或权限不足

时间:2019-04-30 10:24:41

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

我正在尝试建立一个Firestore安全规则以限制传入数据的大小。

service cloud.firestore {
  match /databases/{database}/documents {
  match /events/{eventId}{
        allow read: if request.auth.uid != null;     
        allow write: if request.auth.uid != null
            && request.resource.size < 1*1024*1024;
      }
  }
}

以上安全规则返回错误

FirebaseError:缺少权限或权限不足。

如何验证传入数据的大小而不会出现错误?

Firestore structure

firestore_db.collection('/events').add({
            createdAt: firebase.firestore.Timestamp.now().toMillis(),
            uid: currentUserId,
            actionData: JSON.stringify((action)
            )
          });  

示例代码

1 个答案:

答案 0 :(得分:0)

在Cloud Firestore中,Resource类型没有response.Hits属性。您可能会误用确实具有这种属性的Resource type in Storage

还请注意,Firestore将始终拒绝资源大于1MB的写操作,因为那是最大文档大小。