Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

649
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda