Если при
const bucket = storage.bucket('myID.appspot.com/');
ваша цель состоит в том, чтобы инициализировать контейнер по умолчанию , вам нужно просто сделать
const bucket = storage.bucket();
, так как вы объявили storage
as admin.storage()
ОБНОВЛЕНИЕ (после вашего комментария о const border = bucket.file("border.png");
)
Кроме того, просматривая код аналогичного облака Функция (из официальных образцов, использующих ImageMagick и spawn
) показывает, что вам не следует переходить на метод spawn()
some File
объекты, созданные с помощью метода file()
облачного хранилища Node.js клиентского API (т.е. const border = bucket.file("border.png");
), но некоторые файлы, которые вы ранее сохранили во временный каталог.
Посмотрите на следующую выдержку из примера облачной функции, упомянутого выше. Они определяют временные каталоги и пути к файлам (используя модуль path
), загружают файлы в этот каталог и используют их для вызова метода spawn()
.
//....
const filePath = object.name;
const contentType = object.contentType; // This is the image MIME type
const fileDir = path.dirname(filePath);
const fileName = path.basename(filePath);
const thumbFilePath = path.normalize(path.join(fileDir, `${THUMB_PREFIX}${fileName}`)); // <---------
const tempLocalFile = path.join(os.tmpdir(), filePath); // <---------
const tempLocalDir = path.dirname(tempLocalFile); // <---------
const tempLocalThumbFile = path.join(os.tmpdir(), thumbFilePath); // <---------
//....
// Cloud Storage files.
const bucket = admin.storage().bucket(object.bucket);
const file = bucket.file(filePath);
const thumbFile = bucket.file(thumbFilePath);
const metadata = {
contentType: contentType,
// To enable Client-side caching you can set the Cache-Control headers here. Uncomment below.
// 'Cache-Control': 'public,max-age=3600',
};
// Create the temp directory where the storage file will be downloaded.
await mkdirp(tempLocalDir) // <---------
// Download file from bucket.
await file.download({destination: tempLocalFile}); // <---------
console.log('The file has been downloaded to', tempLocalFile);
// Generate a thumbnail using ImageMagick.
await spawn('convert', [tempLocalFile, '-thumbnail', `${THUMB_MAX_WIDTH}x${THUMB_MAX_HEIGHT}>`, tempLocalThumbFile], {capture: ['stdout', 'stderr']});
//.....