Работа с облачными функциями для получения списка подписанных ссылок для моих изображений.Прямо сейчас я получаю ошибку SigningError: Cannot sign data without
client_email .
Я пытался сделать просто const storage = new Storage();
без добавления объекта конфигурации, но я все еще получаю ту же ошибку.Я даже попробовал:
const storage = new Storage({
projectId: projectId,
keyFilename:'./cert.json' //my service account file
});
Но от этого я ничего не получаю, даже сообщение об ошибке.Моя функция просто возвращает пустой массив []
Как мне настроить вещи так, чтобы я мог возвращать подписанные URL-адреса?
const functions = require('firebase-functions');
const admin = require('firebase-admin');
import * as _ from 'lodash'
const {Storage} = require('@google-cloud/storage');
const projectId = 'myProject';
const storage = new Storage({
projectId: projectId,
});
export const getPublicURLS = async()=>{
let bucketName='myBucket.appspot.com'
const [files] = await storage.bucket(bucketName).getFiles({prefix:'myTestPrefix'});
files.shift(); //remove the folder object
let list = await _.map(files, (file)=>{
return file.getSignedUrl({
action: 'read',
expires: '03-17-2025'
}).then(results => {
console.log(results);
const url = results[0];
return url;
})
.catch(err => {
console.error('ERROR:', err);
});
})
return list;
}