Merencanakan migrasi dari Node.js dan Express ke Azure Functions

Selesai

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:

  1. Buat aplikasi Azure Functions baru.
  2. Salin folder layanan dari Node.js Express ke aplikasi Azure Functions. Ini berfungsi karena layanan data tidak terikat dengan server Ekspres.
  3. Buat API fungsi baru untuk setiap titik akhir rute.
    • Mendapatkan liburan
    • Menambahkan liburan
    • Memperbarui liburan
    • Menghapus liburan
  4. Perbarui kode fungsi untuk menggunakan logika akses data di layanan/ folder.
  5. 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.