Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

650
Vistas
¿Cómo eliminar una carpeta de Firebase Storage de una Firebase Cloud Function?

No pude encontrar el método deleteFiles() en la referencia de la API de Firebase. Mi IDE me dice que este método toma un argumento opcional DeleteFilesOptions y tampoco pude encontrar ninguna información sobre ese tipo. Si alguien pudiera señalarme esta documentación, se lo agradecería.

Dicho esto, he visto varias publicaciones que usan este método, con este argumento, para eliminar una carpeta de almacenamiento completa (y todos sus archivos) a través de una función de nube. Mi pregunta es, ¿es esta la forma correcta de hacerlo (ya que falta la documentación aquí)?

 const functions = require("firebase-functions"); const admin = require("firebase-admin"); exports.deleteStorageFolder = functions.https.onCall(async (data, _context) => { const uid = data.userId; try { const bucket = admin.storage().bucket(); // returns the default bucket, which is good await bucket.deleteFiles({ prefix: `images/users/${uid}`, // the path of the folder }); return Promise.resolve(true); } catch (error) { throw new functions.https.HttpsError("unknown", "Failed to delete storage folder.", error); } });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como @Doug ya mencionó en el comentario, "Firebase solo proporciona contenedores alrededor de Cloud Storage. Son lo mismo". Además, de acuerdo con esta documentación , "Cloud Storage para Firebase almacena sus archivos en un depósito de Google Cloud Storage, haciéndolos accesibles a través de Firebase y Google Cloud. Esto le permite la flexibilidad de cargar y descargar archivos desde clientes móviles a través de los SDK de Firebase para Almacenamiento en la nube."

Habiendo dicho eso, intenté replicar el fragmento de código que proporcionó usando deleteFiles() , y funcionó bien de mi parte:

 // // The Firebase Admin SDK to access Firestore. const functions = require("firebase-functions"); const admin = require('firebase-admin'); const firebaseConfig = { // Your Firebase configuration... }; admin.initializeApp(firebaseConfig); const bucket = admin.storage().bucket(); async function deleteFolder(){ await bucket.deleteFiles({ prefix: 'images/users/${uid}' // the path of the folder }); } deleteFolder();

Otra opción que puede hacer es usar directamente Google Cloud Storage y omitir el uso de Firebase Storage:

 const {Storage} = require('@google-cloud/storage'); const storage = new Storage(); const bucket = storage.bucket("your-bucket-name"); bucket.deleteFiles({ prefix: 'images/users/${uid}' }, function(err) { if (!err) { console.log("All files in the `images` directory have been deleted."); } });

Solo una nota, siguiendo la sugerencia de Doug, puede probarlo y probarlo primero en su entorno local o de prueba. Para obtener más información, puede consultardelete() y deleteFiles()

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda