Použití azure Functions k vývoji Node.js bezserverových řešení
Azure Functions poskytuje bezserverovou infrastrukturu kódu, která umožňuje vytvářet responzivní koncové body HTTP na vyžádání. Bezserverové aplikace se skládají z kódu JavaScriptu nebo TypeScriptu, který se spouští v reakci na různé události.
Funkce poskytují:
Abstrakce webové služby – zaměřujete se na kód, ne na infrastrukturu.
Integrace se službami Azure – Aktivace práce se službou Azure s událostmi nebo mimo službu Azure
Integrace s balíčky JavaScriptu – použití oblíbených balíčků npm s bezserverovým kódem
Co je prostředek funkce?
Prostředek funkce Azure je logická jednotka pro všechny související funkce v jednom geografickém umístění Azure. Prostředek může obsahovat jednu funkci nebo mnoho funkcí, které mohou být nezávislé na sobě nebo související se vstupními nebo výstupními vazbami. Můžete si vybrat z mnoha běžných funkcí nebo si vytvořit vlastní.
Nastavení prostředků funkce zahrnuje typické bezserverové konfigurace, včetně proměnných prostředí, ověřování, protokolování a CORS.
Odolné, stavové funkce
Durable Functions zachovává stav nebo spravuje dlouhotrvající funkce v Azure. Vytvořte svou první odolnou funkci v JavaScriptu.
Statické webové aplikace zahrnují funkce.
Při vývoji statické front-endové klientské aplikace (například Angular, React nebo Vue), která také potřebuje bezserverová rozhraní API, používejte statické webové aplikace s funkcemi ke spojení obojího.
Proxy z klientské aplikace do rozhraní API
Pokud máte v úmyslu nasadit rozhraní API se statickou webovou aplikací, nemusíte proxy volání rozhraní API klientské aplikace proxy. Proxy server je vytvořený pro vás, včetně místního a vzdáleného vývoje.
Když vyvíjíte místně pomocí statické webové aplikace a Azure Functions, azure Static Web App CLI poskytuje místní proxy server.
Běžná nastavení zabezpečení, která je potřeba nakonfigurovat pro funkci Azure Functions
Aby byla vaše funkce Azure Functions zabezpečená, měla by být nakonfigurovaná následující běžná nastavení:
- Nastavení konfigurace
- Nastavení konfigurace – vytvořte nastavení aplikace pro nastavení, která nemají vliv na zabezpečení.
- Tajné kódy a klíče – pro všechna nastavení, která mají vliv na zabezpečení, vytvořte službu Azure Key Vault a stáhněte si tato nastavení ze služby Key Vault.
- Stav FTP v nastavení platformy – ve výchozím nastavení jsou všechny povolené. Abyste zlepšili zabezpečení, musíte vybrat jenom FTPS nebo úplně zakázat FTP.
- CORS rozhraní API – nakonfigurujte své klientské domény. Nepoužívejte
*
, označující všechny domény. - Nastavení PROTOKOLU TLS/SSL pro PROTOKOL HTTPS – ve výchozím nastavení vaše rozhraní API přijímá požadavky HTTP a HTTPS. Povolte https pouze v nastavení PROTOKOLU TLS/SSL. Vzhledem k tomu, že je vaše aplikace funkcí hostovaná na zabezpečené subdoméně, můžete ji použít okamžitě (s
https
) a pozdržet nákup názvu domény a použít certifikát pro doménu, dokud nebudete připravení. - Sloty nasazení – vytvořte slot nasazení, například
stage
nebopreflight
nasdílení změn do tohoto slotu. Jakmile budete připraveni, prohodíte tento slot fáze do produkčního prostředí. Nenechte se zvykem ručně tlačit do produkce. Základ kódu by měl být schopen indikovat verzi nebo potvrzení, které je v slotu.
Předpoklady pro vývoj azure Functions
Jednoduchá funkce JavaScriptu pro požadavky HTTP
Funkce je exportovaná asynchronní funkce s informacemi o požadavku a kontextu. Následující částečný snímek obrazovky webu Azure Portal ukazuje kód funkce.
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
});
Místní vývoj funkcí pomocí editoru Visual Studio Code a rozšíření
Vytvořte první funkci pomocí editoru Visual Studio Code. Visual Studio Code zjednodušuje řadu podrobností s rozšířením Azure Functions.
Toto rozšíření vám pomůže vytvářet funkce JavaScriptu a TypeScriptu s běžnými šablonami.
Integrace s ostatními službami Azure
Bezserverové funkce odeberou většinu konfigurace a správy serveru, abyste se mohli soustředit jenom na kód, který potřebujete.
- Funkce s nízkým kódem: Pomocí Azure Functions můžete vytvářet funkce aktivované jinými službami Azure nebo výstupem do jiné služby Azure pomocí vazeb triggerů.
- Funkce s vysokým kódem: Pro větší kontrolu použijte sady Azure SDK ke koordinaci a řízení dalších služeb Azure.
Další kroky
Další informace o Službě Azure Functions s využitím Node.js použijte následující tabulku.