Kiszolgáló nélküli Node.js-alkalmazások fejlesztése az Azure Functions használatával
Az Azure Functions hatékony kiszolgáló nélküli infrastruktúrát biztosít, amellyel könnyedén fejleszthet méretezhető, igény szerinti HTTP-végpontokat. A JavaScript vagy a TypeScript használatával olyan kiszolgáló nélküli alkalmazásokat hozhat létre, amelyek különböző eseményekre reagálnak, így anélkül összpontosíthat a kódírásra, hogy a kiszolgálók kezelésével kellene foglalkoznia. Ez az útmutató segítséget nyújt a kiszolgáló nélküli Node.js-alkalmazások Azure Functions használatával történő fejlesztésének megkezdésében, és zökkenőmentesen integrálható más Azure-szolgáltatásokkal.
Mi az a függvényerőforrás?
Az Azure-függvényerőforrás egy logikai egység az összes kapcsolódó függvényhez egyetlen Azure-beli földrajzi helyen. Az erőforrás egyetlen függvényt vagy több függvényt tartalmazhat, amelyek függetlenek lehetnek egymástól, vagy kapcsolódhatnak bemeneti vagy kimeneti kötésekhez. Számos gyakori függvény közül választhat, vagy létrehozhatja sajátját.
A függvény erőforrás-beállításai közé tartoznak a tipikus kiszolgáló nélküli konfigurációk, beleértve a környezeti változókat, a hitelesítést, a naplózást és a CORS-t.
Tartós, állapotalapú függvények
A Durable Functions megőrzi az állapotot, vagy felügyeli a hosszú ideig futó függvényeket az Azure-ban. Hozza létre az első tartós függvényt a JavaScriptben.
A statikus webalkalmazások függvényeket tartalmaznak
Ha olyan statikus előtér-ügyfélalkalmazást fejleszt (például Angular, React vagy Vue), amely kiszolgáló nélküli API-kra is szükség van, használja statikus webalkalmazásokat függvényekkel, hogy mindkettőt összecsomagolják.
Proxy az ügyfélalkalmazásból az API-ba
Ha statikus webalkalmazással szeretné üzembe helyezni az API-t, nem kell proxyt használnia az ügyfélalkalmazás API-hívásaihoz. A proxy akkor jön létre, ha felügyelt alkalmazásként telepíti az Azure Functions alkalmazást.
Ha helyi fejlesztést használ statikus webalkalmazással és Azure Functions szolgáltatással, az Azure Static Web App CLI biztosítja a helyi proxyt.
Az Azure-függvényhez konfigurálni kívánt gyakori biztonsági beállítások
Az Alábbi gyakori beállításokat kell konfigurálni az Azure-függvény biztonságossá tételéhez:
- Konfigurációs beállítások
- Konfigurációs beállítások – alkalmazásbeállítások létrehozása olyan beállításokhoz, amelyek nem befolyásolják a biztonságot.
- Titkos kódok és kulcsok – minden olyan beállításhoz, amely hatással van a biztonságra, hozzon létre egy Azure Key Vaultot , és kérje le ezeket a beállításokat a Key Vaultból.
- FTP-állapot a platformbeállításokon – alapértelmezés szerint mindegyik engedélyezett. A biztonság javítása érdekében csak FTPS-t kell választania, vagy teljesen le kell tiltania az FTP-t.
- CORS – konfigurálja a kliens domének beállításait. Ne használja
*
az összes tartományt. - TLS/SSL-beállítás HTTPS-hez – alapértelmezés szerint az API HTTP- és HTTPS-kéréseket fogad el. Csak a TLS/SSL-beállításokban engedélyezze a HTTPS-t. Mivel a függvényalkalmazás biztonságos altartományon található, azonnal (a következővel
https
együtt) használhatja, és késleltetheti a tartománynév megvásárlását, és a tartományhoz tartozó tanúsítványt is használhatja, amíg el nem készül. - Üzembehelyezési pontok – hozzon létre egy üzembehelyezési pontot, például
stage
vagypreflight
küldjön le erre a pontra. Ha készen áll, cserélje le ezt a szakaszt az éles környezetbe. Nem szokás manuálisan leküldni az éles környezetbe. A kódbázisnak képesnek kell lennie arra, hogy jelezze az adott ponton található verziót vagy véglegesítést.
Az Azure Functions fejlesztésének előfeltételei
Egyszerű JavaScript-függvény HTTP-kérésekhez
A függvény egy exportált aszinkron függvény, amely kérelem- és környezetinformációkat tartalmaz. Az Alábbi részleges képernyőkép az Azure Portalról a függvénykódot mutatja.
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
});
Függvények helyi fejlesztése Visual Studio Code-tal és bővítményekkel
Hozza létre az első függvényt a Visual Studio Code használatával. A Visual Studio Code számos részletet leegyszerűsít az Azure Functions bővítményével.
Ezzel a bővítménysel JavaScript- és TypeScript-függvényeket hozhat létre gyakori sablonokkal.
Integráció más Azure-szolgáltatásokkal
A kiszolgáló nélküli függvények eltávolítják a kiszolgáló konfigurációjának és felügyeletének nagy részét, így csak a szükséges kódra összpontosíthat.
- Alacsony kódszámú függvények: Az Azure Functions használatával más Azure-szolgáltatások által aktivált függvényeket hozhat létre, vagy más Azure-szolgáltatásba kimenetet hozhat létre triggerkötésekhasználatával.
- Nagy kódszámú függvények: Az Azure SDK-k segítségével koordinálhatja és vezérelheti a többi Azure-szolgáltatást.