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

  • Komunitní knihovna ukázek bez serveru 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.

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 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 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.

Učit Vzorek
Co je Contoso Real Estate Contoso Real Estate
Vytváření bezserverových rozhraní API pomocí Azure Functions MicrosoftDocs/mslearn-build-api-azure-functions
Refaktoring rozhraní API služby Node.js Express do bezserverových rozhraní API služby Azure Functions MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Nahrání a analýza souboru pomocí Azure Functions a blob Storage Azure-Samples/msdocs-storage-bind-function-service