Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

385
Views
¿Cómo eliminar un archivo de Cloud Storage después de haberlo descargado?

Tengo una función en la nube que elimina el archivo de Cloud Storage

Función:

 const { Storage } = require("@google-cloud/storage"); const storage = new Storage(); let handler = async (file, context) => { console.log(` Event: ${context.eventId}`); console.log(` Event Type: ${context.eventType}`); console.log(` Bucket: ${file.bucket}`); console.log(` File: ${file.name}`); let bucket = storage.bucket(file.bucket); let bucketFile = bucket.file(file.name); bucketFile.delete(); };

Quiero activar esta función después de que se descargue cualquier archivo en el depósito.

Revisé los disparadores de Cloud Storage,

 google.storage.object.finalize (default) google.storage.object.delete google.storage.object.archive google.storage.object.metadataUpdate

pero no funcionan como yo quiero. ¿Alguien tiene alguna sugerencia?

Editar:

Si necesito explicar un poco más lo que quiero hacer; Ya sea que estén registrados en nuestro sistema o no, los usuarios reciben enlaces con algunos de sus datos de forma abierta al público. Dado que estos enlaces pueden contener datos confidenciales, me gustaría obtener un derecho de descarga por única vez. Después de una sola descarga, los datos deben eliminarse de forma permanente.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede capturar el evento get si activa los registros de auditoría en Cloud Storage (tenga cuidado, los registros de auditoría en Cloud Storage pueden generar una gran cantidad de registros y pueden costar).

Cuando los registros de auditoría están activados, puede filtrar por ese nombre de método:

 methodName: "storage.objects.get"

Por supuesto, puede agregar otros filtros en Cloud Logging, como el nombre del recurso para filtrar en el depósito y/o el prefijo/sufijo del archivo (use =~ para la expresión regular)

Cuando su filtro esté bien y obtenga solo las entradas que espera, cree un sumidero para PubSub, luego una suscripción Push PubSub para invocar su pieza de código (en Cloud Functions o en Cloud Run).

Recibirá la entrada JSON de Cloud Logging, obtenga el nombre del recurso en el JSON para saber qué archivo se descargó y luego elimínelo.

about 4 years ago · Juan Pablo Isaza Report

0

Otra solución es usar el ciclo de vida del objeto, puede eliminar automáticamente un objeto después de su creación durante 1 día (los días son la unidad mínima)

Puede encontrar la configuración del ciclo de vida en la página de detalles del depósito:

ingrese la descripción de la imagen aquí

Y luego debe agregar una regla como esa para eliminar objetos después de 1 día:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!