Sdílet prostřednictvím


Vývoj bezserverových aplikací Node.js pomocí Azure Functions

Azure Functions poskytuje výkonnou bezserverovou infrastrukturu, která umožňuje snadno vyvíjet škálovatelné koncové body HTTP na vyžádání. Pomocí JavaScriptu nebo TypeScriptu můžete vytvářet bezserverové aplikace, které reagují na různé události, takže se můžete soustředit na psaní kódu, aniž byste se museli starat o správu serverů. Tato příručka vám pomůže začít s vývojem bezserverových Node.js aplikací pomocí Azure Functions a bezproblémovou integraci s dalšími službami Azure.

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.

Když vyvíjíte statickou front-endovou klientskou aplikaci (například Angular, React nebo Vue), která také potřebuje bezserverová rozhraní API, použijte statické webové aplikace s funkcemi, které obě spojí dohromady.

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 se vytvoří za vás, když nasadíte aplikaci Azure Functions jako spravovanou aplikaci.

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 – 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 nebo preflight 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 vytvoříte 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.