A Node.js és az Express azure Functionsbe való migrálásának megtervezése
A háttérbeli Express-alkalmazás kiszolgáló nélkülire váltásának megtervezéséhez az Express alkalmazást három fő területre bonthatja:
- Az Express-kiszolgáló, amely többnyire a server.ts-ben található
- Az útvonalak, amelyek az útvonalakban/ mappában találhatók
- Az adatelérési logika, amely a szolgáltatásokban/ mappában található
A kód Express-ből Azure Functionsbe való újrabontásához megtervezheti ezeket a műveleteket, amelyeket a következő leckében fog megvalósítani:
- Hozzon létre egy új Azure Functions-alkalmazást.
- Másolja a szolgáltatási mappát Node.js Expressből az Azure Functions alkalmazásba. Ez azért működik, mert az adatszolgáltatások nincsenek az Express-kiszolgálóhoz kötve.
- Hozzon létre egy új függvény API-t minden útvonalvégponthoz.
- Szabadságok lekérése
- Szabadságok hozzáadása
- Szabadság frissítése
- Szabadság törlése
- Frissítse a függvénykódot az adatelérési logika használatára a szolgáltatásokban/ mappában.
- Frissítse a függvényútvonalakat az eredeti Express-útvonalaknak megfelelően.
Példa expressz útvonalra
Ez egy egyszerű példa egy expressz útvonalra, amely szabadságokat kap a szabadságszolgáltatástól. Figyelje meg, hogy az útvonalkezelő paraméterei és req
res
objektumai.
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élda az Azure Functions útvonalára
Ez egy egyszerű példa egy Azure Functions-útvonalkezelőre és útvonaldefinícióra, amely szabadságokat kap a szabadságszolgáltatástól. Figyelje meg, hogy az útvonalkezelő paraméterei és request
context
objektumai.
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
});
Miután megismerte az Azure Functions-alkalmazás struktúráját, rendszerezheti a kódot az eredeti Node.js Express-alkalmazás struktúrájának megfelelően.
A következő gyakorlatban létre kell hoznia a Functions alkalmazást, és a kódot az Express-kiszolgálóról a Functionsre kell áthelyeznie.