从Google云端存储中获取更短的文件网址(使用Firebase云功能)

时间:2017-04-08 21:38:31

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

我有以下Firebase Cloud功能来获取存储在Google云端存储中的文件的网址。

const gcs = require('@google-cloud/storage')({keyFilename: 'service-account.json'});

exports.generateFileLink = functions.storage.object().onChange(event => {
  const object = event.data;
  const filePath = object.name;
  const bucket = gcs.bucket(object.bucket);
  const file = bucket.file(filePath);
  const action = 'read';
  const expires = '03-09-2491';
  return file.getSignedUrl({action, expires}).then(signedUrls => {
    console.log(signedUrls[0])
  });
})

返回正确的URL,但长度超过600个字符。 Firebase Web控制台上显示的同一文件的URL长度少于200个字符。有没有办法可以使用firebase-admin或firebase-functions模块检索URL以获得更短的URL?

1 个答案:

答案 0 :(得分:3)

简短的回答是,我们正在firebase-admin存储客户端上工作,但它还有一段路要走。目前,如果您需要在函数中创建下载URL,则可以使用签名URL。

为什么需要使用Firebase提供的下载网址在功能中生成签名网址?您是否可以通过该功能中的客户端检索URL,并且需要将其移动到其他位置?