提问人:Jensemann 提问时间:11/13/2023 更新时间:11/15/2023 访问量:25
Minio,有没有办法在下载文件后自动删除文件
Minio, is there a way to automatically delete a File after it was downloaded
问:
我使用 minio 在客户端之间同时传输不需要在线的文件,因此我上传了一个文件到 minio,并通知另一个客户端有一个文件要下载。
客户端下载文件后,我不再需要服务器上的文件。
所以现在的问题是,有没有办法设置 Minio 服务器或存储桶,以便在下载成功后删除文件。
我知道我可以在客户端上发出命令,他应该向服务器发出删除文件的信号,但我认为可能有一种方法可以在不更新我们使用的许多不同客户端的情况下完成它。
答:
1赞
aj-jester
11/15/2023
#1
最简单的方法是让同一个客户端删除文件,如您所提到的。但这可能会使你的代码库变得臃肿,这取决于你需要做多少这样的工作。
话虽如此,MinIO 确实提供了 2 个功能,您可以使用它们来简化代码库。
存储桶通知:通知允许您向 RabbitMQ、Kafka、AMPQ 等接收方发送消息,其他客户端可以读取并执行操作。
使用 Lambda 进行转换:您可以编写一个小函数(也称为 Lambda 处理程序)来对现有对象执行操作,然后执行各种操作,例如修改对象中的数据或将其完全删除。
在上述所有方法中,您需要在某处使用一段代码来对不再需要的文件执行删除操作。这只是你想在哪里实现它的问题。
评论
0赞
Jensemann
11/15/2023
我昨天遇到了同样的功能,我写了一个小的 WebHook 侦听器,在访问文件后 10 分钟删除文件,这应该有足够的时间完成下载。
评论