Ejercicio: Creación de una aplicación de Azure Functions y refactorización del código

Completado

En este ejercicio, creará una aplicación de Azure Functions sin servidor que ejecuta las API en lugar de la aplicación Rápida. Después, migrará la lógica de la aplicación de Node.js Express a la aplicación de Functions. No es necesario volver a escribir el código. Solo tiene que hacer algunos cambios mínimos en el código para realizar la transición.

Creación de una nueva aplicación de Azure Functions

Asegúrese de que tiene instalada la extensión de Visual Studio Code para Azure Functions.

  1. En Visual Studio Code, presione F1 para abrir la paleta de comandos.

  2. Escriba y seleccione Azure Functions: Crear nuevo proyecto.

    Screenshot of Visual Studio Code creating a new function app.

  3. Seleccione la raíz del repositorio como ubicación del nuevo proyecto.

  4. Cuando se le pida, escriba los valores siguientes.

    NOMBRE Valor
    Lenguaje TypeScript
    Selección de un modelo de programación de TypeScript Modelo V4
    Plantilla HTTP trigger
    Nombre getVacations

Ya se ha creado la aplicación de Functions para atender los puntos de conexión de API de la aplicación. En la siguiente unidad, creará las funciones que enumeran, agregan, actualizan y eliminan vacaciones.

Nota:

Ha creado la aplicación de Functions en la carpeta functions, que la mantiene separada de la aplicación de Angular. Ahora puede decidir cómo estructurar las aplicaciones, pero, como aprendizaje, resulta útil ver las dos aplicaciones en un mismo lugar.

Copia y refactorización del código del controlador de rutas

Toda la lógica de Node.js Express que devuelve datos está en la carpeta server/services. Puede copiar este código de la aplicación de Node.js Express a la aplicación de Functions y, después, hacer una refactorización menor para que el código funcione con Functions en lugar de Node.js Express.

En la siguiente tabla se enumeran las principales diferencias entre la aplicación de Node.js Express y la aplicación de Functions:

Componente Node.js Express Functions
Paquete npm importado para dar servicio a la aplicación express @azure/functions
Objetos de solicitud y respuesta req y res request y context

Primero refactoriza el código para importar el paquete npm adecuado. Después, refactoriza el código para controlar las diferencias en la forma en la que Express y Functions pasan los objetos de solicitud y respuesta.

Copia a través del código existente desde el proyecto Rápido

En Visual Studio Code, copie las siguientes subcarpetas de la carpeta server de la aplicación Rápida y péguela en la carpeta functions/:

  • datos
  • modelos
  • services

No es necesario copiar la carpeta routes porque va a crear nuevas funciones para cada ruta de la aplicación de Azure Functions.

Continúe con la siguiente unidad para crear las funciones y refactorizar los puntos de conexión y las rutas.