lunes, 18 de diciembre de 2017

Triggering en Cloud Functions en carpetas de Cloud Storage

Publicado el 2017 Dec 18 por Graham Polley

Cloud Functions son una forma extremadamente poderosa y potente para resolver problemas. No necesitas funcionar con infraestructura ni intentar escalar. ¡Es de lo bueno lo mejor!

Sin embargo, al implementar su "cloud Function" para activar Google Cloud Storage, actualmente solo puede configurar el parámetro --trigger-bucket para que sea un bucket de GCS real.


Pero, ¿qué sucede si solo desea activar un archivo o carpeta en una carpeta específica dentro de ese cubo?


¡Sin problemas! Hay un pequeño truco para esto. De hecho, el nombre del objeto / archivo (es decir, el nuevo archivo que se ha cargado en su carpeta) en realidad contiene la ruta completa, incluidos los nombres de las carpetas. Entonces, en su Cloud Function todo lo que necesita hacer es verificar si la ruta incluye su nombre de carpeta:



function(event, callback) {
    const file = event.data;
    if (file.resourceState === 'exists' && file.name && 
        file.name.indexOf('my_lovely_folder/') !== -1) {
        //do stuff
        ...