Firebase 存储:是不是可以自动删除旧文件?
Posted
技术标签:
【中文标题】Firebase 存储:是不是可以自动删除旧文件?【英文标题】:Firebase Storage: Is it possible to auto - delete old files?Firebase 存储:是否可以自动删除旧文件? 【发布时间】:2018-09-27 00:13:27 【问题描述】:我使用 Firebase 云存储上传图片。
我正在开发的应用程序允许用户互相发送图像(聊天),这样一个用户上传照片,另一个用户下载它,一旦下载,它应该从存储中删除。
我所说的例子
用户 A 通过将照片上传到 Firebase 存储来向用户 B 发送照片,然后用户 B 注意到用户 A 向他发送了一张图片并决定下载它,在用户 B 下载图片后,它应该从存储中删除。
我的问题
如果用户 A 发送了太多图像而用户 B 从未下载任何这些图像怎么办。那么这意味着我将以占用空间的无用图像结束。
那么在这种情况下,firebase 中是否有办法在 (n) 时间后(不是客户端)上传文件后自动删除文件?
【问题讨论】:
你好像在找Firebase Cloud Functions @AndréKool 如何使用函数做到这一点? 我不知道。我发布了那个链接,所以你可以自己找到。 【参考方案1】:我仍在进行这项研究,但您似乎可以使用life cycle rules 根据文件的年龄删除文件。
以下是文档介绍中列出的一些示例。
将超过 365 天的对象的存储类别降级为 冷线存储。 删除 2013 年 1 月 1 日之前创建的对象。 在存储桶中仅保留每个对象的 3 个最新版本 启用版本控制
【讨论】:
您还可以在文件创建 X 天后使用生命周期删除文件。我已经测试过了,它可以工作。 我是怎么做到的? 我最终为每个文件构建了数据库模型,并在删除数据库条目时删除了该文件 - 使用 firebase/firestore 的 onDelete 挂钩。这很灵活,因为您可以根据属性轻松查询数据库模型并删除它们。以上是关于Firebase 存储:是不是可以自动删除旧文件?的主要内容,如果未能解决你的问题,请参考以下文章