Как удалить изображение, хранящееся в хранилище Firebase, после запуска Firestore onDelete в облачной функции? - PullRequest
0 голосов
/ 09 сентября 2018

Я хочу использовать фоновый триггер облачной функции, поэтому, когда я удаляю пользовательские данные в Firestore, я также хочу удалить их изображение профиля в хранилище Firebase.

идентификатор пользователя используется в качестве имени изображения этого изображения. и изображение находится внутри папки profilepicture

enter image description here

enter image description here

export const removeProfilePictureWhenDeletingUserData = functions.firestore
    .document('userss/{userID}')
    .onDelete((snap, context) => {

        const userID = context.params.userID

        // how to delete the image in here?





    });

Я пытался прочитать документацию, но я не совсем понимаю, как реализовать этот метод :(. Очень нужна ваша помощь. Заранее спасибо

1 Ответ

0 голосов
/ 09 сентября 2018

Следующий код облачной функции выполнит эту работу.

// Адаптировано по совету Дуга в его комментарии //

....
const admin = require('firebase-admin');
admin.initializeApp();
....
var defaultStorage = admin.storage();

exports.removeProfilePictureWhenDeletingUserData = functions.firestore
  .document('users/{userID}')
  .onDelete((snap, context) => {
    const userID = context.params.userID;

    const bucket = defaultStorage.bucket();
    const file = bucket.file('profilePicture/' + userID + '.png');

    // Delete the file
    return file.delete();
  });

Подробнее см. В следующих документах:

https://firebase.google.com/docs/reference/admin/node/admin.storage.Storage

https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/File#delete

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...