Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
HTTP API-k és eseményvezérelt Node.js-alkalmazások létrehozása és futtatása Azure Functions. Ezután a cikk további részében kiválaszthatja az alkalmazás megfelelő kiszolgáló nélküli üzemeltetési és integrációs útvonalát.
Mi az a függvényalkalmazás erőforrás?
A függvényalkalmazások logikai egységek a függvénykód egyetlen Azure erőforrásban való üzembe helyezéséhez és futtatásához egy adott földrajzi helyen. Az erőforrás egyetlen vagy több függvényt tartalmazhat, amelyek egymástól függetlenül futnak, de ugyanazok a számítási erőforrások, kapcsolatok és beállítások vannak megosztva. A Functions az eseményindító-alapú sablonok teljes skáláját kínálja a gyors kezdéshez. Hozzáadhatja a kódot, valamint egyéb kimeneti és bemeneti kötéseket is.
A függvényalkalmazás erőforrás-beállításai közé tartoznak a kiszolgáló nélküli konfigurációk, például a környezeti változók, a hitelesítés, a naplózás és a CORS.
Tartós, állapotalapú függvények
Bár a Azure függvényvégrehajtásai eredendően állapot nélküliek, Durable Functions megtartják az állapotot, és kezelik a hosszú ideig futó függvényeket Azure. Használja őket, amikor olyan orchesztrációkra, újrapróbálásokra vagy többlépéses munkafolyamatokra van szükség, amelyek egyetlen kérésnél tovább tartanak. Első lépésként tekintse meg az első tartós függvény létrehozása JavaScriptben című témakört.
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 a függvényalkalmazást.
Ha helyileg fejleszti a statikus webalkalmazást Azure Functions használatával, a Azure Static Web Apps parancssori felület biztosítja a helyi proxyt.
Az Azure Functionhöz konfigurálandó 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:
-
Hitelesítés és engedélyezés:
- A hatékony hitelesítéshez használja a Microsoft Entra-azonosítót (korábban Azure Active Directory). Konfigurálja a függvényalkalmazást úgy, hogy OAuth2-jogkivonatokat igényeljen az éles számítási feladatokhoz.
- Kerülje a függvénykulcsok használatát a bizalmas alkalmazásokhoz. Ehelyett integráljon a Microsoft Entra-azonosítóval, vagy ellenőrizze a JWT-jogkivonatokat a függvénykódban.
- Felügyelt identitások használatával hitelesítheti a függvényalkalmazást más Azure-erőforrásokkal, biztosítva, hogy minden függvény csak a szükséges hozzáférést kapja.
-
Konfigurációs beállítások:
- Alkalmazásbeá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 – a biztonságot befolyásoló beállítások esetén használja ezt a rétegzett megközelítést:
- Először használja a Microsoft Entra-azonosítót a támogatott hitelesítéshez.
- Az Entra-azonosítót nem támogató integrációk esetén tárolja a titkos kulcsokat az Azure Key Vaultban , és kérje le ezeket a beállításokat a Key Vaultból.
- Soha ne ágyazza be a titkos kódokat kód- vagy konfigurációs fájlokba.
- További platformbiztonsági beállításokért tekintse meg az Azure Functions biztonságossá tételét.
-
Hálózati biztonság:
- CORS – konfigurálja a kliens domének beállításait. Ne használja a(z)
*elemet, amely az összes tartományt jelzi. - Virtuális hálózati integráció – privát végpontok vagy virtuális hálózati integráció használata a hálózati kitettség korlátozására és a megbízható forrásokból érkező bejövő forgalom korlátozására.
- CORS – konfigurálja a kliens domének beállításait. Ne használja a(z)
-
HTTPS és titkosítás:
- 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 Function-alkalmazása egy biztonságos altartományon (
*.azurewebsites.net) fut, azonnal használatba veheti (a(z)httpshasználatával), és elhalaszthatja a tartománynév megvásárlását, valamint a tartományhoz szükséges tanúsítvány beszerzését, amíg készen nem áll rá.
- 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 Function-alkalmazása egy biztonságos altartományon (
-
Üzembe helyezés és figyelés:
- Üzembehelyezési pontok – hozzon létre egy üzembehelyezési pontot, például
stagevagypreflight, és küldjön le erre a pontra. Ha készen áll, váltsa át ezt a staginghelyet élesre. Ne szokj hozzá, hogy manuálisan pusholsz élesbe. A kódbázisnak képesnek kell lennie arra, hogy jelezze, melyik verzió vagy commit van az adott slotban. Ha Flex Consumptiont használ, a pontok helyett nulla állásidős üzembe helyezést használjon. - Engedélyezze az Application Insights használatát a valós idejű telemetria, riasztások és anomáliaérzékelés céljaira, hogy figyelje a függvényeket és a naplókat gyanús tevékenységek szempontjából.
- Üzembehelyezési pontok – hozzon létre egy üzembehelyezési pontot, például
Átfogó biztonsági útmutatásért tekintse meg az Azure Functions biztonságossá tételét ismertető témakört.
Az Azure Functions gazdagép beállításai
Az Azure Functionst a követelményektől függően különböző módokon üzemeltetheti:
Azure Functions-erőforrás-üzemeltetési csomagok
Függvényalkalmazás-erőforrás létrehozásakor válasszon az alábbi Functions-üzemeltetési csomagok közül:
- Használati terv (örökölt): Csak arra az időre kell fizetnie, amikor a függvények automatikus skálázással futnak.
- Rugalmas felhasználású csomag: Továbbfejlesztett vezérlést biztosít a mindig kész példányokkal a hidegindítások, a virtuális hálózati integráció és a konfigurálható példányméretek (512 MB-ról 4 GB-ra) csökkentése érdekében. Ez a csomag olyan új Linux-alapú számítási feladatokhoz ajánlott, amelyek nagyvállalati biztonsági és teljesítménybeli funkciókat igényelnek. Ez a csomag a használatalapú csomaghoz hasonló végrehajtásalapú számlázást használ, de további költségekkel jár az olyan funkciók esetében, mint a mindig kész példányok.
- Prémium csomag: Fokozott teljesítményt biztosít az előre felmelegített példányokkal, a virtuális hálózati kapcsolattal és a hosszabb végrehajtási időtartamokkal.
- Dedikált (App Service-) csomag: Függvények futtatása dedikált virtuális gépeken a kiszámítható költségek és a futtatókörnyezet teljes felügyelete érdekében.
A megfelelő üzemeltetési csomag kiválasztásával kapcsolatos további információkért tekintse meg az Azure Functions üzemeltetési lehetőségeit.
Azure Container Apps-erőforrás
Másik lehetőségként üzembe helyezheti az Azure Functionst egy Azure Container Apps-erőforrásban tárolóalapú számítási feladatként. Ez a beállítás teljes körű felügyeletet biztosít a tárolókörnyezet felett, és ideális, ha egyéni függőségekre, hosszan futó folyamatokra van szüksége, vagy ha más tárolóalapú mikroszolgáltatásokkal szeretné kombinálni a függvényeket. További információt Azure Functions Azure Container Apps áttekintésében talál.
Az Azure Functions fejlesztésének előfeltételei
- Node.js LTS – Használja a legújabb hosszú távú támogatási (LTS) verziót a legjobb kompatibilitási és biztonsági frissítésekhez az Azure Functions használatával.
- Azure Functions Core Tools – A helyi fejlesztéshez és hibakereséshez használja az aktuális főverziót.
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.
A függvényprojekt kiindulópontjaként használja az alábbi v4-beli programozási modellek egyikét.
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
});
Az alkalmazás elindítása után navigáljon a http://localhost:7071/api/status címre a végpont helyi teszteléséhez.
Függvények helyi fejlesztése Visual Studio Code-tal és bővítményekkel
Hozza létre első függvényét a Visual Studio Code használatával. A Visual Studio Code számos részletet leegyszerűsít az Azure Functions-bővítménnyel.
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.
- Low-code fejlesztési megoldások: Az Azure Functions használatával olyan függvényeket hozhat létre, amelyeket más Azure-szolgáltatások aktiválnak, vagy amelyeket triggerkötések használatával más Azure-szolgáltatásokba adhat ki. A v4 programozási modell az összes eseményindítót és kötést közvetlenül a kódban regisztrálja, így a konfiguráció típusa biztonságos és intuitív.
- 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. Felügyelt identitások használatával biztonságosan hitelesítheti függvényeit más Azure-erőforrásokkal anélkül, hogy hitelesítő adatokat kellene kezelnie.
Következő lépések
- Hozza létre és telepítse az első HTTP-triggerfüggvényt a Visual Studio Code használatával.
- Az üzembe helyezés előtt hasonlítsa össze Azure Functions üzemeltetési lehetőségeket.
- Munkafolyamat létrehozása a JavaScripthez készült Durable Functions használatával.
- Mielőtt éles erőforrásokhoz csatlakozik, tekintse át a Az Azure Functions védelme című részt.