ontwikkelaarshandleiding voor Azure Functions

In Azure Functions delen alle functies enkele belangrijke technische concepten en onderdelen, ongeacht uw voorkeurstaal of ontwikkelomgeving. Dit artikel is taalspecifiek. Kies uw voorkeurstaal bovenaan het artikel.

Dit artikel gaat ervan uit dat je het overzicht van Azure Functions al hebt gelezen.

Als u liever meteen aan de slag gaat, kunt u een quickstart-zelfstudie voltooien met behulp van Visual Studio, Visual Studio Code of via de prompt.

Als u liever meteen aan de slag gaat, kunt u een quickstart-zelfstudie voltooien met behulp van Maven (opdrachtregel), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud, of Visual Studio Code.

Als u liever meteen aan de slag gaat, kunt u een quickstart-zelfstudie voltooien met behulp van Visual Studio Code of via de prompt.

Als u liever meteen aan de slag gaat, kunt u een quickstart-zelfstudie voltooien met behulp van Visual Studio Code of via de prompt.

Als u liever meteen aan de slag gaat, kunt u een quickstart-zelfstudie voltooien met behulp van Visual Studio Code of via de prompt.

Als u liever meteen aan de slag gaat, kunt u een quickstart-zelfstudie voltooien met behulp van Visual Studio Code of via de prompt.

Codeproject

De kern van Azure Functions is een taalspecifiek codeproject dat een of meer eenheden code-uitvoering implementeert met de naam functions. Functies zijn gewoon methoden die worden uitgevoerd in de Azure cloud op basis van gebeurtenissen, in reactie op HTTP-aanvragen of volgens een schema. Denk aan uw Azure Functions codeproject als mechanisme voor het organiseren, implementeren en gezamenlijk beheren van uw afzonderlijke functies in het project wanneer ze worden uitgevoerd in Azure. Zie Uw functies organiseren voor meer informatie.

De manier waarop u uw codeproject indeelt en hoe u aangeeft welke methoden in uw project functies zijn, is afhankelijk van de ontwikkeltaal van uw project. Zie de handleiding voor C#-ontwikkelaars voor gedetailleerde taalspecifieke richtlijnen.

De manier waarop u uw codeproject indeelt en hoe u aangeeft welke methoden in uw project functies zijn, is afhankelijk van de ontwikkeltaal van uw project. Zie de Java ontwikkelaarshandleiding voor taalspecifieke richtlijnen.

De manier waarop u uw codeproject indeelt en hoe u aangeeft welke methoden in uw project functies zijn, is afhankelijk van de ontwikkeltaal van uw project. Zie de handleiding Node.js ontwikkelaars voor taalspecifieke richtlijnen.

De manier waarop u uw codeproject indeelt en hoe u aangeeft welke methoden in uw project functies zijn, is afhankelijk van de ontwikkeltaal van uw project. Zie de Handleiding voor PowerShell-ontwikkelaars voor taalspecifieke richtlijnen.

De manier waarop u uw codeproject indeelt en hoe u aangeeft welke methoden in uw project functies zijn, is afhankelijk van de ontwikkeltaal van uw project. Zie de Python ontwikkelaarshandleiding voor taalspecifieke richtlijnen.

De manier waarop u uw codeproject indeelt en hoe u aangeeft welke methoden in uw project functies zijn, is afhankelijk van de ontwikkeltaal van uw project. Voor taalspecifieke richtlijnen, zie de Go-ontwikkelaarsgids.

Alle functies moeten een trigger hebben, waarmee wordt gedefinieerd hoe de functie wordt gestart en invoer kan worden gegeven aan de functie. Uw functies kunnen desgewenst invoer- en uitvoerbindingen definiëren. Deze bindingen vereenvoudigen verbindingen met andere services zonder dat u met client-SDK's hoeft te werken. Zie Azure Functions triggers en bindingsconcepten voor meer informatie.

Azure Functions biedt een set taalspecifieke project- en functiesjablonen waarmee u eenvoudig nieuwe codeprojecten kunt maken en functies kunt toevoegen aan uw project. U kunt alle hulpprogramma's gebruiken die ondersteuning bieden voor Azure Functions ontwikkeling om nieuwe apps en functies te genereren met behulp van deze sjablonen.

Ontwikkelhulpprogramma’s

De volgende tools bieden een lokale en geïntegreerde ontwikkel- en publicatieervaring voor Azure Functions in uw voorkeurstaal:

Deze hulpprogramma's kunnen worden geïntegreerd met Azure Functions Core Tools zodat u fouten kunt uitvoeren en fouten kunt opsporen op uw lokale computer met behulp van de Functions-runtime. Zie Codeer en test Azure Functions lokaal voor meer informatie.

Er is ook een editor in het Azure portaal waarmee je je code en je function.json definitiebestand direct in het portaal kunt bijwerken. Gebruik deze editor alleen voor kleine wijzigingen of het creëren van proof-of-concept-functies. Ontwikkel je functies altijd lokaal, waar mogelijk. Zie Uw eerste functie maken in de Azure-portal voor meer informatie.

Portalbewerking wordt alleen ondersteund voor Node.js versie 3, die gebruikmaakt van het function.json-bestand.

Implementatie

Wanneer u uw codeproject publiceert naar Azure, implementeert u uw project in feite in een bestaande functie-app-resource. Een functie-app biedt een uitvoeringscontext in Azure waarin uw functies worden uitgevoerd. Als zodanig is het de eenheid van implementatie en beheer voor uw functies. Vanuit het perspectief van Azure Resource is een functie-app gelijk aan een siteresource (Microsoft.Web/sites) in Azure App Service, wat gelijk is aan een web-app.

Een functie-app bestaat uit één of meer afzonderlijke functies die je beheert, uitrolt en samen opschaalt. Alle functies in een functie-app delen hetzelfde prijsplan, dezelfde implementatiemethode en runtimeversie. Zie Een functie-app beheren voor meer informatie.

Wanneer de functie-app en andere benodigde bronnen nog niet bestaan in Azure, moet je deze resources aanmaken voordat je je projectbestanden kunt uitrolden. U kunt deze resources op een van de volgende manieren maken:

Naast publiceren op basis van hulpprogramma's ondersteunt Functions andere technologieën voor het implementeren van broncode in een bestaande functie-app. Zie Deployment-technologieën in Azure Functions voor meer informatie.

Verbinding maken met services

Een belangrijke vereiste van elke cloudgebaseerde rekenservice is het lezen van gegevens van en het schrijven van gegevens naar andere cloudservices. Functies bieden een uitgebreide set bindingen waarmee u gemakkelijker verbinding kunt maken met services zonder dat u hoeft te werken met client-SDK's.

Of je nu de binding-extensies van Functions gebruikt of direct met client SDK's werkt, je slaat verbindingsgegevens veilig op en neemt deze niet op in je code.

Standaard hostopslag

Azure Functions vereist een Azure Storage-account wanneer u een exemplaar van een functie-app maakt. Dit standaardopslagaccount wordt intern gebruikt door de Functions-host en enkele binding-extensies.

Om te leren hoe je veilig verbindingen definieert met het standaard opslagaccount, zie Verbindingen definiëren.

Bindingen

Functions biedt bindingen voor veel Azure services en enkele services van derden, die worden geïmplementeerd als extensies. Zie de volledige lijst met ondersteunde bindingen voor meer informatie.

Bindingextensies kunnen zowel invoer- als uitvoer ondersteunen, en veel triggers fungeren ook als invoerbindingen. Met bindingen kunt u de verbinding met services configureren, zodat de Functions-host de gegevenstoegang voor u kan verwerken. Zie Azure Functions triggers en bindingsconcepten voor meer informatie.

Als u problemen ondervindt met fouten die afkomstig zijn van bindingen, raadpleegt u de documentatie Azure Functions Bindingsfoutcodes. Om te leren hoe je verbindingen veilig definieert in bindings naar externe diensten, zie Verbindingen definiëren.

Algemene eigenschappen voor op identiteit gebaseerde verbindingen

Identiteitsgebaseerde verbindingen voor Azure Functions gebruiken beheerde identiteiten voor authenticatie. De systeem-toegewezen identiteit wordt standaard gebruikt, maar je kunt een door de gebruiker toegewezen identiteit specificeren met de credential en clientId eigenschappen. Voor volledige details over het configureren van identiteitsgebaseerde verbindingen, inclusief vereiste app-instellingen en RBAC-rechten, zie Definieer beheerde identiteitsverbindingen.

Lokale ontwikkeling met op identiteit gebaseerde verbindingen

Bij lokaal draaien gebruiken identiteitsgebaseerde verbindingen je ontwikkelaarsidentiteit (zoals je Azure CLI-login) in plaats van een beheerde identiteit. Je hoeft de credential of clientId eigendommen niet te bepalen tijdens lokale ontwikkeling. Zie Lokale ontwikkeling met op identiteit gebaseerde verbindingen voor meer informatie.

Client-SDK 's

Hoewel Functions bindings biedt om de data-toegang in je functiecode te vereenvoudigen, kun je ook een client SDK in je project gebruiken om direct toegang te krijgen tot een bepaalde service. Je moet mogelijk direct client-SDK's gebruiken als je functies een functionaliteit van de onderliggende SDK vereisen die niet wordt ondersteund door de binding-extensie. Je functions-code kan niet bij de onderliggende clients die door je binding-extensies worden gebruikt. Je moet zelfstandig alle client-instanties die je in je functies moet gebruiken maken en beheren.

Houd rekening met deze kwesties bij het creëren en gebruiken van client SDK's in je functiecode:

  • Gebruik hetzelfde proces voor het opslaan en benaderen van verbindingsstrings als binding-extensies. Voor meer informatie, zie Verbindingen definiëren.

  • Wanneer je je app host in een consumptieplan, is er een limiet op het totale aantal uitgaande verbindingen over alle instanties. Deze limiet betekent dat je voorzichtig moet zijn om poortuitputting te voorkomen. Voor meer informatie, zie SDK-clientverbindingen beheren.

  • Wanneer je een client SDK-instantie maakt in je functies, haal dan de verbindingsinformatie die de client nodig heeft uit Environment variables.
  • Wanneer je een client SDK-instantie maakt in je functies, haal dan de verbindingsinformatie die de client nodig heeft uit Environment variables.
  • Wanneer je een client SDK-instantie maakt in je functies, haal dan de verbindingsinformatie die de client nodig heeft uit Environment variables.
  • Wanneer je een client SDK-instantie maakt in je functies, haal dan de verbindingsinformatie die de client nodig heeft uit Environment variables.
  • Wanneer je een client SDK-instantie maakt in je functies, haal dan de verbindingsinformatie die de client nodig heeft uit Environment variables.

Problemen melden

Onderdeel Beschrijving Koppeling
Looptijd Scripthost, triggers en bindingen, taalondersteuning Bestandsprobleem
Sjablonen Codeprobleem met aanmaaksjabloon Bestandsprobleem

Opensource-opslagplaatsen

De code voor Azure Functions is open source. Je kunt belangrijke componenten vinden in deze GitHub-repositories:

Voor meer informatie raadpleegt u de volgende bronnen: