【问题标题】:In firebase rules how to check in firestore that a record exists in cloudstorage在firebase规则中,如何在firestore中检查cloudstorage中是否存在记录
【发布时间】:2021-09-28 06:36:33
【问题描述】:
我在 firestore 中有一些记录,这些记录引用了我存储在 cloudstorage 中的文件的名称。在允许写入记录之前,我需要先检查文件是否已上传到云存储。
我知道这些文件以后可能会被删除,但在编写记录时我需要检查它们是否已上传,以减少错误。
每个请求我只需要检查一个文件。我尝试使用 exists 并引用我的存储桶,但我无法让它工作。
【问题讨论】:
标签:
firebase
google-cloud-firestore
google-cloud-storage
firebase-security
【解决方案1】:
您无法在 Firestore 的安全规则中访问 Firebase 存储中的数据。您可以尝试以下任一方法:
- 确保添加文档功能在文件上传后运行(通过在 JS 中等待 promise)
- 使用Firebase Storage Triggers,它会在文件上传后运行一个函数,然后从云函数添加文档。如果您使用此方法,您可以移除用户的写入权限,以便在上传该对象时只有云功能可以添加文档。