Plánování migrace z Node.js a Expressu do Azure Functions
Pokud chcete naplánovat posun z back-endové aplikace Express na bezserverovou aplikaci, můžete aplikaci Express rozdělit do tří hlavních oblastí:
- Server Express, který je z většiny v souboru server.ts
- Trasy, které jsou v trasách nebo složce
- Logika přístupu k datům, která je ve službách nebo složce
Pokud chcete refaktorovat kód z Expressu na Azure Functions, naplánujte tyto akce, které začnete implementovat v další lekci:
- Vytvořte novou aplikaci Azure Functions.
- Zkopírujte složku služeb z Node.js Express do aplikace Azure Functions. To funguje, protože datové služby nejsou svázané se serverem Express.
- Vytvořte nové rozhraní API funkce pro každý koncový bod trasy.
- Získání dovolené
- Přidání dovolených
- Aktualizace dovolené
- Odstranění dovolené
- Aktualizujte kód funkce tak, aby používal logiku přístupu k datům ve službách nebo složce.
- Aktualizujte trasy funkcí tak, aby odpovídaly původním trasám Expressu.
Příklad expressroute trasy
Toto je jednoduchý příklad trasy Express, která získává dovolenou ze služby dovolené. Všimněte si parametrů obslužné rutiny trasy jsou objekty req
a res
objekty.
import * as express from 'express';
import { vacationService } from '../services';
const router = express.Router();
router.get('/vacations', (req, res) => { // API route
vacationService.getVacations(req, res); // Data access logic
});
Příklad trasy Azure Functions
Toto je jednoduchý příklad obslužné rutiny trasy Azure Functions a definice trasy, která získá dovolenou ze služby dovolené. Všimněte si parametrů obslužné rutiny trasy jsou objekty request
a context
objekty.
import { app } from '@azure/functions';
import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';
import * as vacationService from '../services';
export async function getVacations(request, context) {
return {
status: 200,
jsonBody: vacationService.getVacations(); // Data access logic
};
};
app.http('get-vacations', { // API route
methods: ['GET'],
route: 'vacations',
authLevel: 'anonymous',
handler: getVacations
});
Jakmile pochopíte strukturu aplikace Azure Functions, můžete kód uspořádat tak, aby odpovídal struktuře původní aplikace Node.js Express.
V dalším cvičení vytvoříte aplikaci Functions a přesunete kód ze serveru Express na Functions.