Node.js ve Express'ten Azure İşlevleri geçişi planlama

Tamamlandı

Arka uç Express uygulamasından sunucusuz geçişini planlamak için Express uygulamasını üç ana alana bölebilirsiniz:

  • Çoğu zaman server.ts’de bulunan Express sunucusu
  • Yollar/ klasöründeki yollar
  • Hizmetler/klasörde bulunan veri erişim mantığı

Kodunuzu Express'ten Azure İşlevleri'a yeniden düzenlemek için, sonraki ünitede uygulamaya başlayacağınız şu eylemleri planlayacaksınız:

  1. Yeni bir Azure İşlevleri uygulaması oluşturun.
  2. hizmetler klasörünü Node.js Express'ten Azure İşlevleri uygulamasına kopyalayın. Bu, veri hizmetlerinin Express sunucusuna bağlı olmaması nedeniyle çalışır.
  3. Her yol uç noktası için yeni bir işlev API'si oluşturun.
    • Tatil alma
    • Tatil ekleme
    • Tatili güncelleştirme
    • Tatil silme
  4. İşlev kodunu hizmetler/klasördeki veri erişim mantığını kullanacak şekilde güncelleştirin.
  5. İşlev yollarını özgün Express rotalarıyla eşleşecek şekilde güncelleştirin.

Express route örneği

Bu, tatil hizmetinden tatil alan express rotasının basit bir örneğidir. Yol işleyicisinin parametrelerinin ve res nesneleri olduğunu req fark edin.

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
});

Azure İşlevleri yol örneği

Bu, tatil hizmetinden tatil alan Azure İşlevleri yol işleyicisi ve rota tanımının basit bir örneğidir. Yol işleyicisinin parametrelerinin ve context nesneleri olduğunu request fark edin.

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
});

Azure İşlevleri uygulamasının yapısını anladıktan sonra kodunuzu özgün Node.js Express uygulamasının yapısıyla eşleşecek şekilde düzenleyebilirsiniz.

Sonraki alıştırmada İşlevler uygulamasını oluşturacak ve kodu Express sunucusundan İşlevler'e kaydıracaksınız.