exports.deleteItemImages = functions.firestore.document('items/{itemId}')
.onDelete(async (snap, context) => {
const deletedValue = snap.data();
const id = deletedValue.id;
if (id === null) {
return null;
}
console.log(`itemId to be deleted: ${id}`);
bucket.deleteFiles({
prefix: '${id}/'
}, function (err) {
if (!err) {
console.log(`Successfully deleted images with item id: ${id}`);
} else {
console.error(`Failed to remove images, error: ${err}`);
}
});
})
У меня есть коллекция items
с каждым документом, имеющим поле id
. С каждым документом связаны изображения, хранящиеся в хранилище Firebase в каталоге (папке) с тем же именем папки id
. Я хочу удалить каждую папку id
в хранилище Firebase при удалении соответствующего документа Firestore. В моем журнале облачных функций Firebase строка console.log(
Успешно удаленные изображения с идентификатором элемента: $ {id} );
успешно печатается, но удаление папки не происходит
РЕДАКТИРОВАТЬ: я попытался вручную ввести имя папки для prefix: '${id}/'
, и это сработало. Так что это не проблема с подключением к хранилищу Firebase, а скорее с этой линией в частности ..