unción de nube @Firebase [Error: límite de memoria excedido. La función de invocación fue interrumpida.] En youtube video upload

Intenté subir videos a YouTube usando la función de nube Firebase.

Lo que necesito es cuando un usuario carga un video en el almacenamiento en la nube de Firebase, se activará el evento functions.storage.object (). OnFinalize y, en ese caso, almaceno el archivo en una ubicación temporal y subo el archivo a youtube desde el ubicación temporal a youtube, después de cargarlo elimino ambos archivos.

Funcionará bien para archivos pequeños.

Pero si subo un archivo grande, la función se termina mostrando este error

Error: límite de memoria excedido. La función de invocación fue interrumpida.

Código para subir video

   var requestData = {
        'params': {
        'part': 'snippet,status'
        },
        'properties': {
        'snippet.categoryId': '22',
        'snippet.defaultLanguage': '',
        'snippet.description': "docdata.shortDesc",
        'snippet.tags[]': '',
        'snippet.title': "docdata.title",
        'status.embeddable': '',
        'status.license': '',
        'status.privacyStatus': 'public',
        'status.publicStatsViewable': ''
        }, 'mediaFilename': tempLocalFile
    };

    insertVideo(tempLocalFile, oauth2Client, requestData);

función de video de inserción

function insertVideo( file, oauth2Client, requestData) {
    return new Promise((resolve,reject)=>{
        google.options({ auth: oauth2Client });
        var parameters = removeEmptyParameters(requestData['params']);
        parameters['auth'] = oauth2Client;
        parameters['media'] = { body:  fs.createReadStream(requestData['mediaFilename'])};
        parameters['notifySubscribers'] = false;
        parameters['resource'] = createResource(requestData['properties']);

        console.log("INSERT >>> ");
        let req = google.youtube('v3').videos.insert(parameters,  (error, received)=> {
            if (error) {
                console.log("in error")
                console.log(error);
                try {
                    fs.unlinkSync(file);
                } catch (err) {
                    console.log(err);
                } finally{
                    // response.status(200).send({ error: error })
                }
                reject(error)
            } else {
                console.log("in else")
                console.log(received.data)
                fs.unlinkSync(file);
                resolve();
            }
        }); 
    })

}

code para crear un archivo local temporal

           bucket.file(filePath).createReadStream()
            .on('error', (err)=> {
                reject(err)
            })
            .on('response', (response)=> {
                console.log(response)
            })
            .on('end', ()=> {
                console.log("The file is fully downloaded");
                resolve();
            })
            .pipe(fs.createWriteStream(tempLocalFile));

Cada archivo de lectura y escritura es manejado por flujos, cualquier idea de por qué está ocurriendo el problema de memoria

Respuestas a la pregunta(2)

Su respuesta a la pregunta