Я создал облачную функцию, которая запускается при любой новой загрузке файлов в Firebase Storage. После успешной загрузки функция обновит свои метаданные, но даже если установка новых метаданных с помощью setMetadata () не будет применена. Во время процесса ошибки нет, но при проверке обновленных метаданных новые не отображаются.
exports.onImageUpload = functions.storage.object().onFinalize(async (object) => {
const storageRef = admin.storage().bucket(object.bucket);
var metadata = {
'uploader': 'unknown'
}
await storageRef.file(object.name).setMetadata(metadata).then(function(data) {
console.log('Success');
console.log(data);
return;
}).catch(function(error) {
console.log(error);
return ;
});
return;
});
Ошибки нет, и в журнале Cloud Function выводится сообщение «Success». Также обновлено свойство metageneration: '2', что означает, что оно должно было обновить метаданные с новыми значениями, но это не так.