调整存储在 Firebase 存储中的所有图像的大小

Pra*_*kar 3 image image-resizing google-cloud-storage firebase

我已经在 Firebase Storage Bucket 上上传了大约 10k 的高分辨率图像。截至目前,由于高带宽,我需要在不删除原始图像的情况下缩小存储桶中的这些图像。

Firebase 图像调整扩展功能解决了这个问题,但仅适用于新上传的图像,不适用于已上传的图像。

那么,有没有办法做到这一点。我知道我们使用云函数来调整图像大小,但我不确定我将如何实现这一点,因为没有触发云函数工作。

Ren*_*nec 5

有一个官方的 Cloud Function示例展示了如何调整图像大小(它实际上与作为 Resize Images 扩展基础的 Cloud Function 非常相似)。

此示例 Cloud Function 在将文件上传到 Firebase 项目的默认 Cloud Storage 存储桶时触发,但应该很容易调整其触发器。

例如,您可以编写一个可调用的 Cloud Function,它使用 Node.js Admin SDKgetFiles()方法列出存储桶中的所有文件并调整每个文件的大小。

由于您要处理大量文件,因此您很可能应该批量处理,因为 Cloud Function 执行有 9 分钟的限制。