Cómo realizar una carga de archivos HTTP usando express en Cloud Functions para Firebase (multer, busboy)

Estoy tratando de subir un archivo a Cloud Functions, usando Express para manejar las solicitudes allí, pero no estoy teniendo éxito. Creé una versión que funciona localmente:

servidor js

const express = require('express');
const cors = require('cors');
const fileUpload = require('express-fileupload');

const app = express();
app.use(fileUpload());
app.use(cors());

app.post('/upload', (req, res) => {
    res.send('files: ' + Object.keys(req.files).join(', '));
});

cliente js

const formData = new FormData();
Array.from(this.$refs.fileSelect.files).forEach((file, index) => {
    formData.append('sample' + index, file, 'sample');
});

axios.post(
    url,
    formData, 
    {
        headers: { 'Content-Type': 'multipart/form-data' },
    }
);

Este mismo código parece romperse cuando se implementa en Cloud Functions, donde req.files no está definido. ¿Alguien tiene alguna idea de lo que está sucediendo aquí?

EDITAR También tuve la oportunidad de usarmulter, que funcionó bien localmente, pero una vez cargado en Cloud Functions, esto me dio una matriz vacía (el mismo código del lado del cliente):

const app = express();
const upload = multer();
app.use(cors());

app.post('/upload', upload.any(), (req, res) => {
    res.send(JSON.stringify(req.files));
});

Respuestas a la pregunta(7)

Su respuesta a la pregunta