从Firebase存储文件获取URL

时间:2019-05-06 17:58:18

标签: firebase google-cloud-functions google-cloud-storage

我想从 onFinalize 触发器中从存储设备中的文件获取一个downloadURL。在最佳情况下,我希望URL尽可能短(最好不要使用已签名的URL,而可以像在Firebase Storage UI中看到的一样公开)。请记住,我要先移动文件,所以不能直接通过 onFinalize 参数访问它。

我目前有以下解决方案:

await imageRef.move(newPath);
const newFile = defaultBucket.file(newPath);
const url = (await newFile.getSignedUrl({
                 action: 'read',
                 expires: '03-09-2491'
}))[0];

此方法有两个缺陷:

  • 显然,已签名的URL仅有效3天。这可能是known issue
  • URL很长,在我的Firestore中占用了很多空间

我还看到了一种方法,其中从存储桶名称和令牌中复制URL,但是我没有设法在文件的元数据中找到令牌。

0 个答案:

没有答案