Funciones de Azure: Nodejs, ¿cuáles son las restricciones / limitaciones cuando se usa el sistema de archivos?

No he podido hacer funcionar una función azul que utiliza el módulo del sistema de archivos de nodo.

Creé una nueva aplicación de función con la función de activación HTTP más básica e incluí el módulo 'fs':

var fs = require('fs');

module.exports = function (context, req, res) {
    context.log('function triggered');
    context.log(req);

    context.done();
}

Esto funciona bien Veo la solicitud completa en los registros de transmisión en vivo y en la lista de invocación de funciones.

Sin embargo, tan pronto como agrego el código que realmente usa el sistema de archivos, parece quechoque La función azul. Ni completa ni arroja el error. Tampoco parece aparecer en la lista de invocaciones de funciones azules, lo que da miedo, ya que se trata de pérdida de información de fallas y podría pensar que mi servicio se estaba ejecutando bien cuando realmente hubo fallas.

var fs = require('fs');

module.exports = function (context, req, res) {
    context.log('function triggered');
    context.log(req);

    fs.writeFile('message.txt', 'Hello Node.js', (err) => {
        if (err) throw err;
        console.log('It\'s saved!');
        context.done();
    });
}

losfs.writeFile código tomado directamente del sitio web node.js:https://nodejs.org/dist/latest-v4.x/docs/api/fs.html#fs_fs_writefile_file_data_options_callback

Agregué elcontext.done() en la devolución de llamada, pero ese fragmento debería funcionar sin problemas en el entorno de desarrollo normal.

Esto trae las preguntas:

¿Es posible usar el sistema de archivos al usar Azure Functions?Si es así, ¿cuáles son las restricciones?Si no hay restricciones, ¿se requiere que los desarrolladores realicen un seguimiento y realicen la limpieza o esto se ocupa de algún sandboxing?

Según tengo entendido, aunque esto se considera computación sin servidor, todavía hay un servicio de aplicación de sitio web VM / Azure debajo que tiene un sistema de archivos. Puedo usar la consola Kudu y navegar y ver todos los archivos en / wwwroot y los archivos / home / functions / secrets.

Imagine un escenario en el que se escribe una función azul para escribir un archivo con un nombre único y no realizar la limpieza; eventualmente ocuparía todo el espacio en disco en la máquina virtual host y degradaría el rendimiento. Esto podría suceder accidentalmente por un desarrollador y posiblemente pasar desapercibido hasta que sea demasiado tarde.

Esto me hace preguntarme si es por diseño no utilizar el sistema de archivos, o si mi función está escrita incorrectamente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta