Azure Functions gebruiken om Node.js serverloze oplossingen te ontwikkelen
Azure Functions biedt serverloze code-infrastructuur, zodat u responsieve HTTP-eindpunten op aanvraag kunt maken. Serverloze apps bestaan uit JavaScript- of TypeScript-code die wordt uitgevoerd als reactie op verschillende gebeurtenissen.
Functies bieden u het volgende:
Abstractie van webservice: u richt zich op code, niet op infrastructuur.
Integratie met Azure-services: werk activeren in of uit een Azure-service met gebeurtenissen
Integreren met JavaScript-pakketten- gebruik uw favoriete NPM-pakketten met uw serverloze code
Wat is een functieresource?
Een Azure Function-resource is een logische eenheid voor alle gerelateerde functies op één geografische Azure-locatie. De resource kan één functie of veel functies bevatten, die onafhankelijk van elkaar of gerelateerd zijn aan invoer- of uitvoerbindingen. U kunt kiezen uit veel algemene functies of uw eigen functies maken.
De functieresource-instellingen omvatten typische serverloze configuraties, waaronder omgevingsvariabelen, verificatie, logboekregistratie en CORS.
Duurzame, stateful functies
Durable Functions behoudt de status of beheert langlopende functies in Azure. Maak uw eerste duurzame functie in JavaScript.
Statische web-apps bevatten functies
Bij het ontwikkelen van een statische front-endclienttoepassing (zoals Angular, React of Vue), die ook serverloze API's nodig hebben, gebruikt u Statische web-apps met functies om beide samen te bundelen.
Proxy van client-app naar de API
Als u uw API wilt implementeren met uw statische web-app, hoeft u de API-aanroepen van uw clienttoepassing niet te proxyn. De proxy wordt voor u tot stand gebracht, inclusief lokale en externe ontwikkeling.
Wanneer u lokaal ontwikkelt met een statische web-app en Azure Functions, biedt de Azure Static Web App CLI de lokale proxy.
Algemene beveiligingsinstellingen die u moet configureren voor uw Azure-functie
De volgende algemene instellingen moeten worden geconfigureerd om uw Azure-functie veilig te houden:
- Configuratie-instellingen
- Configuratie-instellingen: toepassingsinstellingen maken voor instellingen die geen invloed hebben op de beveiliging.
- Geheimen en sleutels: voor alle instellingen die van invloed zijn op beveiliging, maakt u een Azure Key Vault en haalt u deze instellingen op uit uw Key Vault.
- FTP-status op platforminstellingen: standaard zijn alle toegestaan. U moet ALLEEN FTPS selecteren of FTP volledig uitschakelen om de beveiliging te verbeteren.
- API CORS: configureer uw clientdomeinen. Gebruik niet
*
, waarmee alle domeinen worden aangegeven. - TLS/SSL-instelling voor HTTPS: uw API accepteert standaard HTTP- en HTTPS-aanvragen. Schakel HTTPS alleen in de TLS/SSL-instellingen in. Omdat uw functie-app wordt gehost op een beveiligd subdomein, kunt u deze onmiddellijk (met)
https
gebruiken en het aanschaffen van een domeinnaam vertragen en een certificaat voor het domein gebruiken totdat u klaar bent. - Implementatiesites: maak een implementatiesite, zoals
stage
ofpreflight
en push naar die site. Wissel deze fasesite om naar productie wanneer u klaar bent. Blijf niet in de gewoonte om handmatig naar productie te pushen. Uw codebasis moet de versie of doorvoer kunnen aangeven die zich op een site bevindt.
Vereisten voor het ontwikkelen van Azure Functions
Een eenvoudige JavaScript-functie voor HTTP-aanvragen
Een functie is een geëxporteerde asynchrone functie met aanvraag- en contextinformatie. In de volgende gedeeltelijke schermopname van Azure Portal ziet u de functiecode.
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
});
Functies lokaal ontwikkelen met Visual Studio Code en extensies
Maak uw eerste functie met Visual Studio Code. Visual Studio Code vereenvoudigt veel van de details met de Azure Functions-extensie.
Deze extensie helpt u bij het maken van JavaScript- en TypeScript-functies met algemene sjablonen.
Integreren met andere Azure-services
Serverloze functies verwijderen veel van de serverconfiguratie en -beheer, zodat u zich kunt richten op alleen de code die u nodig hebt.
- Functies met weinig code: Met Azure Functions kunt u functies maken die worden geactiveerd door andere Azure-services of die worden uitgevoerd naar een andere Azure-service met behulp van triggerbindingen.
- Functies met hoge code: Voor meer controle gebruikt u de Azure SDK's om andere Azure-services te coördineren en te beheren.
Volgende stappen
Gebruik de volgende tabel voor meer informatie over Azure Functions met Node.js