Merencanakan migrasi dari Node.js dan Express ke Azure Functions
Untuk merencanakan pergeseran aplikasi Express backend ke tanpa server, Anda dapat memecah aplikasi Express menjadi tiga area utama:
- Server Ekspres, yang sebagian besar berada di server.ts
- Rute, yang berada di rute/ folder
- Logika akses data, yang ada di layanan/ folder
Untuk merefaktor kode Anda dari Express ke Azure Functions, Anda merencanakan tindakan ini, yang akan mulai Anda terapkan di unit berikutnya:
- Buat aplikasi Azure Functions baru.
- Salin folder layanan dari Node.js Express ke aplikasi Azure Functions. Ini berfungsi karena layanan data tidak terikat dengan server Ekspres.
- Buat API fungsi baru untuk setiap titik akhir rute.
- Mendapatkan liburan
- Menambahkan liburan
- Memperbarui liburan
- Menghapus liburan
- Perbarui kode fungsi untuk menggunakan logika akses data di layanan/ folder.
- Perbarui rute fungsi agar sesuai dengan rute Ekspres asli.
Contoh rute ekspres
Ini adalah contoh sederhana dari rute Ekspres yang mendapatkan liburan dari layanan liburan. Perhatikan parameter untuk handler rute adalah req
objek dan res
.
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
});
Contoh rute Azure Functions
Ini adalah contoh sederhana dari penangan rute Azure Functions dan definisi rute yang mendapatkan liburan dari layanan liburan. Perhatikan parameter untuk handler rute adalah request
objek dan context
.
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
});
Setelah memahami struktur aplikasi Azure Functions, Anda dapat mengatur kode agar sesuai dengan struktur aplikasi Node.js Express asli.
Pada latihan berikutnya, Anda membuat aplikasi Functions dan mengalihkan kode dari server Ekspres ke Functions.