Esercizio - Creare un'app Funzioni di Azure ed effettuare il refactoring del codice

Completato

In questo esercizio si crea invece un'applicazione Funzioni di Azure serverless che esegue le API anziché l'applicazione Express. Eseguire quindi la migrazione della logica dell'applicazione dall'applicazione Node.js Express all'applicazione Funzioni. Non è necessario riscrivere il codice. Per eseguire la transizione sono necessarie solo alcune piccole modifiche al codice.

Creare un'app di Funzioni di Azure

Assicurarsi di avere installato l'estensione di Visual Studio Code per Funzioni di Azure.

  1. In Visual Studio Code aprire il riquadro comandi premendo F1

  2. Digitare e selezionare Funzioni di Azure: Crea nuovo progetto.

    Screenshot of Visual Studio Code creating a new function app.

  3. Seleziona la radice del repository come percorso per il nuovo progetto.

  4. Quando richiesto, immettere i valori seguenti.

    Nome valore
    Lingua TypeScript
    Selezionare un modello di programmazione TypeScript Modello V4
    Modello Trigger HTTP
    Nome getVacations

Viene ora creata l'app Funzioni per gestire gli endpoint API dell'applicazione. Nell'unità successiva vengono create le funzioni che elencano, aggiungono, aggiornano ed eliminano le vacanze.

Nota

L'app Funzioni è stata creata nella cartella functions per distinguerla dall'app Angular. È possibile decidere come strutturare le applicazioni, ma per obiettivi di apprendimento consente di visualizzare entrambe le app in un'unica posizione.

Copia ed esegui il refactoring del codice del gestore di route

Tutta la logica di Node.js Express che restituisce i dati è contenuta nella cartella server/services. È possibile copiare questo codice dall'applicazione Node.js Express all'applicazione Funzioni e quindi effettuare un piccolo refactoring per rendere il codice funzionante con l'applicazione Funzioni anziché Node.js Express.

La tabella seguente elenca le differenze principali tra l'applicazione Node.js Express e l'applicazione Funzioni:

Componente Express Node.js Funzioni
Pacchetto npm importato per gestire l'applicazione express @azure/functions
Oggetti richiesta e risposta req e res request e context

Prima di tutto si effettua il refactoring del codice per importare il pacchetto npm appropriato. Si esegue quindi il refactoring per gestire le differenze tra il modo in cui Express e Funzioni passano gli oggetti richiesta e risposta.

Copia il codice esistente dal progetto Express

In Visual Studio Code copia le sottocartelle dalla cartella server nell'applicazione Express e incollala nella cartella funzioni/:

  • data
  • modelli
  • services

Non è necessario copiare la cartella route perché si creeranno nuove funzioni per ogni route nell'app Funzioni di Azure.

Passare all'unità successiva per creare le funzioni ed effettuare il refactoring degli endpoint e delle route.