我有以下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?
答案 0 :(得分:3)
简短的回答是,我们正在firebase-admin
存储客户端上工作,但它还有一段路要走。目前,如果您需要在函数中创建下载URL,则可以使用签名URL。
为什么需要使用Firebase提供的下载网址在功能中生成签名网址?您是否可以通过该功能中的客户端检索URL,并且需要将其移动到其他位置?