Menggunakan Azure Functions untuk mengembangkan solusi tanpa server Node.js

Azure Functions menyediakan infrastruktur kode tanpa server, memungkinkan Anda membuat titik akhir HTTP responsif sesuai permintaan. Aplikasi tanpa server terdiri dari kode JavaScript atau TypeScript yang berjalan sebagai respons terhadap berbagai peristiwa.

Functions memberi Anda:

  • Abstraksi layanan web - Anda fokus pada kode, bukan infrastruktur.

  • Integrasi dengan layanan Azure - memicu pekerjaan ke dalam atau di luar layanan Azure dengan peristiwa

  • Integrasikan dengan paket JavaScript - gunakan paket npm favorit Anda dengan kode tanpa server Anda

  • Pustaka sampel komunitas tanpa server Azure

Apa itu sumber daya Function?

Sumber daya Azure Function adalah unit logis untuk semua fungsi terkait dalam satu lokasi geografis Azure. Sumber daya dapat berisi satu fungsi atau banyak fungsi, yang dapat terpisah satu sama lain atau terkait dengan pengikatan input atau output. Anda dapat memilih dari banyak fungsi umum atau membuatnya sendiri.

Pengaturan sumber daya fungsi mencakup konfigurasi tanpa server yang khas termasuk variabel lingkungan, autentikasi, pencatatan, dan CORS.

Fungsi stateful yang tahan lama

Fungsi Tahan Lama mempertahankan kondisi, atau mengelola fungsi yang sudah berjalan lama di Azure. Membuat fungsi tahan lama pertama di JavaScript.

Aplikasi web statis menyertakan fungsi

Saat mengembangkan aplikasi klien front-end statis (seperti Angular, React, atau Vue), yang juga membutuhkan API tanpa server, gunakan Aplikasi Web Statik dengan fungsi untuk menggabungkan keduanya.

Proksi dari aplikasi klien ke API

Jika Anda ingin menyebarkan API dengan aplikasi web Statis, Anda tidak perlu mem-proksi panggilan API aplikasi klien Anda. Proksi dibuat untuk Anda, termasuk pengembangan lokal dan jarak jauh.

Saat mengembangkan secara lokal dengan Static Web App dan Azure Functions, Azure Static Web App CLI menyediakan proksi lokal.

Pengaturan keamanan umum yang perlu Anda konfigurasikan untuk Azure Function

Pengaturan umum berikut harus dikonfigurasi untuk menjaga Azure Function tetap aman:

  • Pengaturan konfigurasi
    • Pengaturan konfigurasi - buat Pengaturan aplikasi untuk pengaturan yang tidak memengaruhi keamanan.
    • Rahasia dan kunci - untuk pengaturan apa pun yang memengaruhi keamanan, buat Azure Key Vault dan tarik pengaturan tersebut dari Key Vault Anda.
    • Status FTP pada pengaturan Platform - secara default, semua diperbolehkan. Anda perlu memilih FTPS saja atau menonaktifkan FTP sepenuhnya untuk meningkatkan keamanan.
  • API CORS - konfigurasikan domain klien Anda. Jangan gunakan *, menunjukkan semua domain.
  • Pengaturan TLS/SSL untuk HTTPS - secara default, API menerima permintaan HTTP dan HTTPS. Aktifkan hanya HTTPS di pengaturan TLS/SSL. Karena aplikasi Function Anda dihosting pada subdomain yang aman, Anda dapat menggunakannya segera (dengan https) dan menunda pembelian nama domain, dan menggunakan sertifikat untuk domain hingga Anda siap.
  • Slot Penyebaran - buat slot penyebaran, seperti stage atau preflight dan dorong ke slot itu. Tukar slot tahap ini ke produksi saat Anda siap. Jangan terbiasa mendorong produksi secara manual. Basis kode harus dapat menunjukkan versi atau penerapan yang ada di slot.

Prasyarat untuk mengembangkan Azure Functions

Fungsi JavaScript sederhana untuk permintaan HTTP

Sebuah fungsi adalah fungsi asinkron yang diekspor dengan informasi permintaan dan konteks. Tangkapan layar parsial berikut dari portal Microsoft Azure menunjukkan kode fungsi.

import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";

export async function status(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
    context.log(`Http function processed request for url "${request.url}"`);

    return {
        status: 200,
        jsonBody: {
            env: process.env
        }
    };
};

app.http('status', {
    route: "status",
    methods: ['GET'],
    authLevel: 'anonymous',
    handler: status
});

Mengembangkan fungsi secara lokal dengan Visual Studio Code dan ekstensi

Buat fungsi pertama menggunakan Visual Studio Code. Visual Studio Code, menyederhanakan banyak detail dengan ekstensi Azure Functions.

Ekstensi ini membantu Anda membuat fungsi JavaScript dan TypeScript dengan templat umum.

Mengintegrasikan dengan layanan Azure lainnya

Fungsi tanpa server menghapus banyak konfigurasi dan manajemen server sehingga Anda dapat fokus hanya pada kode yang Anda butuhkan.

  • Fungsi kode rendah: Dengan Azure Functions, Anda dapat membuat fungsi yang dipicu oleh layanan Azure lainnya atau yang keluar ke layanan Azure lainnya menggunakan pengikatan pemicu.
  • Fungsi kode tinggi: Untuk kontrol lebih lanjut, gunakan SDK Azure untuk mengoordinasikan dan mengontrol layanan Azure lainnya.

Langkah berikutnya

Gunakan tabel berikut untuk mempelajari selengkapnya tentang Azure Functions dengan Node.js

Belajar Sampel
Apa itu Contoso Real Estate Contoso Real Estate
Membangun API Tanpa Server dengan Azure Functions MicrosoftDocs/mslearn-build-api-azure-functions
Refaktor Node.js API Ekspres ke api Azure Functions tanpa server MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Mengunggah dan menganalisis file dengan Azure Functions dan Blob Storage Azure-Samples/msdocs-storage-bind-function-service