Uw functie-app beheren

In Azure Functions biedt een functie-app de uitvoeringscontext voor uw afzonderlijke functies. Gedrag van functie-apps is van toepassing op alle functies die worden gehost door een bepaalde functie-app. Alle functies in een functie-app moeten dezelfde taal hebben.

Afzonderlijke functies in een functie-app worden samen geïmplementeerd en worden samen geschaald. Alle functies in dezelfde functie-app delen resources per exemplaar, terwijl de functie-app wordt geschaald.

Verbinding maken tekenreeksen, omgevingsvariabelen en andere toepassingsinstellingen worden afzonderlijk gedefinieerd voor elke functie-app. Alle gegevens die moeten worden gedeeld tussen functie-apps, moeten extern worden opgeslagen in een permanente store.

Aan de slag in Azure Portal

Notitie

Vanwege beperkingen voor het bewerken van functiecode in Azure Portal moet u uw functies lokaal ontwikkelen en uw codeproject publiceren naar een functie-app in Azure. Zie Ontwikkelingsbeperkingen in Azure Portal voor meer informatie

  1. Meld u om te beginnen aan bij Azure Portal met uw Azure-account. Voer in de zoekbalk boven aan de portal de naam van uw functie-app in en selecteer deze in de lijst.

  2. Selecteer Configuratie onder Instellingen in het linkerdeelvenster.

    Function app overview in the Azure portal

U kunt navigeren naar alles wat u nodig hebt om uw functie-app te beheren op de overzichtspagina, met name de toepassingsinstellingen en platformfuncties.

Werken met toepassingsinstellingen

U kunt een willekeurig aantal toepassingsinstellingen maken die vereist zijn voor uw functiecode. Er zijn ook vooraf gedefinieerde toepassingsinstellingen die door Functions worden gebruikt. Zie de naslaginformatie over app-instellingen voor Azure Functions voor meer informatie.

Deze instellingen worden versleuteld opgeslagen. Zie Beveiliging van toepassingsinstellingen voor meer informatie.

Toepassingsinstellingen kunnen worden beheerd vanuit Azure Portal en met behulp van de Azure CLI en Azure PowerShell. U kunt ook toepassingsinstellingen beheren vanuit Visual Studio Code en Vanuit Visual Studio.

Zie Aan de slag in Azure Portal om de toepassingsinstellingen te vinden.

Het tabblad Toepassingsinstellingen onderhoudt instellingen die worden gebruikt door uw functie-app. U moet Waarden weergeven selecteren om de waarden in de portal weer te geven. Als u een instelling wilt toevoegen in de portal, selecteert u Nieuwe toepassingsinstelling en voegt u het nieuwe sleutel-waardepaar toe.

Function app settings in the Azure portal.

Toepassingsinstellingen gebruiken

De instellingen van de functie-app kunnen in uw code ook worden gelezen als omgevingsvariabelen. Raadpleeg het gedeelte Omgevingsvariabelen van deze taalspecifieke referentie-onderwerpen voor meer informatie:

Wanneer u een functie-app lokaal ontwikkelt, moet u lokale kopieën van deze waarden in het local.settings.json projectbestand onderhouden. Zie het bestand Met lokale instellingen voor meer informatie.

FTPS-implementatie-instellingen

Azure Functions ondersteunt het implementeren van projectcode in uw functie-app met behulp van FTPS. Omdat deze implementatiemethode vereist dat u triggers synchroniseert, wordt deze methode niet aanbevolen. Als u projectbestanden veilig wilt overdragen, gebruikt u altijd FTPS en niet FTP.

U kunt de referenties ophalen die vereist zijn voor FTPS-implementatie met behulp van een van de volgende methoden:

U kunt de FTPS-publicatiereferenties ophalen in Azure Portal door het publicatieprofiel voor uw functie-app te downloaden.

Belangrijk

Het publicatieprofiel bevat belangrijke beveiligingsreferenties. U moet het gedownloade bestand altijd beveiligen op uw lokale computer.

Het publicatieprofiel van uw functie-app downloaden:

  1. Selecteer de pagina Overzicht van de functie-app en selecteer vervolgens Publicatieprofiel ophalen.

    Download publish profile

  2. Sla de inhoud van het bestand op en kopieer deze.

  1. Zoek in het bestand het publishProfile element met het kenmerk publishMethod="FTP". In dit element bevatten de publishUrl, userNameen userPWD kenmerken de doel-URL en referenties voor FTPS-publicatie.

Type hostingabonnement

Wanneer u een functie-app maakt, maakt u ook een hostingabonnement waarin de app wordt uitgevoerd. Een plan kan een of meer functie-apps hebben. De functionaliteit, schaalaanpassing en prijzen van uw functies zijn afhankelijk van het type abonnement. Zie De hostingopties van Azure Functions voor meer informatie.

U kunt bepalen welk type plan wordt gebruikt door uw functie-app vanuit Azure Portal of met behulp van de Azure CLI of Azure PowerShell-API's.

De volgende waarden geven het type plan aan:

Abonnementtype Portal Azure CLI/PowerShell
Verbruik Verbruik Dynamic
Premium ElasticPremium ElasticPremium
Toegewezen (App Service) Diverse Diverse

Zie App Service-plan op het tabblad Overzicht voor de functie-app in Azure Portal om het type plan te bepalen dat door uw functie-app wordt gebruikt. Als u de prijscategorie wilt zien, selecteert u de naam van het App Service-plan en selecteert u vervolgens Eigenschappen in het linkerdeelvenster.

View scaling plan in the portal

Migratie plannen

U kunt de Azure-portal- of Azure CLI-opdrachten gebruiken om een functie-app te migreren tussen een verbruiksabonnement en een Premium-abonnement in Windows. Houd bij het migreren tussen abonnementen rekening met de volgende overwegingen:

  • Directe migratie naar een Toegewezen (App Service)-plan wordt momenteel niet ondersteund.
  • Migratie wordt niet ondersteund in Linux.
  • Het bronplan en het doelplan moeten zich in dezelfde resourcegroep en geografische regio bevinden. Zie Een app verplaatsen naar een ander App Service-plan voor meer informatie.
  • De specifieke CLI-opdrachten zijn afhankelijk van de richting van de migratie.
  • Downtime in uw functie-uitvoeringen vindt plaats wanneer de functie-app wordt gemigreerd tussen plannen.
  • Status en andere app-specifieke inhoud worden onderhouden, omdat dezelfde Azure Files-share wordt gebruikt door de app voor en na de migratie.

Migratie in de portal

Navigeer in Azure Portal naar uw verbruiks- of Premium-abonnements-app en kies App Service-plan wijzigen onder App Service-plan. Selecteer het andere type plan, maak een nieuw App Service-plan van het nieuwe type en selecteer OK. Zie Een app verplaatsen naar een ander App Service-plan voor meer informatie.

Verbruik naar Premium

Gebruik de volgende procedure om te migreren van een Verbruiksabonnement naar een Premium-abonnement in Windows:

  1. Voer de opdracht az functionapp plan create als volgt uit om een nieuw App Service-plan (Elastic Premium) te maken in dezelfde regio en resourcegroep als uw bestaande functie-app:

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Voer de opdracht az functionapp update als volgt uit om de bestaande functie-app te migreren naar het nieuwe Premium-abonnement:

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Als u het vorige verbruiksfunctie-app-plan niet meer nodig hebt, verwijdert u uw oorspronkelijke functie-app-plan nadat u hebt bevestigd dat u naar het nieuwe hebt gemigreerd. Voer de opdracht az functionapp plan list als volgt uit om een lijst met alle verbruiksabonnementen in uw resourcegroep op te halen:

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
    

    U kunt het plan veilig verwijderen met nul sites, die u hebt gemigreerd.

  4. Voer de opdracht az functionapp plan delete als volgt uit om het verbruiksabonnement te verwijderen waaruit u bent gemigreerd.

    az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
    

Premium naar verbruik

Gebruik de volgende procedure om te migreren van een Premium-abonnement naar een Verbruiksabonnement in Windows:

  1. Voer de opdracht az functionapp plan create als volgt uit om een nieuwe functie-app (Verbruik) te maken in dezelfde regio en resourcegroep als uw bestaande functie-app. Met deze opdracht maakt u ook een nieuw verbruiksabonnement waarin de functie-app wordt uitgevoerd.

    az functionapp create --resource-group <MY_RESOURCE_GROUP> --name <NEW_CONSUMPTION_APP_NAME> --consumption-plan-location <REGION> --runtime dotnet --functions-version 3 --storage-account <STORAGE_NAME>
    
  2. Voer de opdracht az functionapp update als volgt uit om de bestaande functie-app te migreren naar het nieuwe verbruiksabonnement.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
    
  3. Voer de opdracht az functionapp delete als volgt uit om de functie-app te verwijderen die u in stap 1 hebt gemaakt, omdat u alleen het plan nodig hebt dat is gemaakt om de bestaande functie-app uit te voeren.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Als u uw vorige Premium-functie-app-plan niet meer nodig hebt, verwijdert u het oorspronkelijke functie-app-plan nadat u hebt bevestigd dat u naar het nieuwe plan bent gemigreerd. Totdat het Premium-abonnement is verwijderd, worden er nog steeds kosten in rekening gebracht. Voer de opdracht az functionapp plan list als volgt uit om een lijst met alle Premium-abonnementen in uw resourcegroep op te halen.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
    
  5. Voer de opdracht az functionapp plan delete als volgt uit om het Premium-abonnement te verwijderen waaruit u bent gemigreerd.

    az functionapp plan delete --name <PREMIUM_PLAN> --resource-group <MY_RESOURCE_GROUP>
    

Toegangssleutels voor uw functie ophalen

Http-geactiveerde functies kunnen over het algemeen worden aangeroepen met behulp van een URL in de indeling: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Wanneer de autorisatie voor uw functie een andere waarde dan anonymousis ingesteld, moet u ook een toegangssleutel opgeven in uw aanvraag. De toegangssleutel kan worden opgegeven in de URL met behulp van de ?code= querytekenreeks of in de aanvraagheader. Zie Functietoegangssleutels voor meer informatie. Er zijn verschillende manieren om uw toegangssleutels op te halen.

  1. Meld u aan bij de Azure-portal, en zoek en selecteer Functie-app.

  2. Selecteer de functie die u wilt verifiëren.

  3. Selecteer app-sleutels in het linkernavigatievenster onder Functions.

    Hiermee worden de hostsleutels geretourneerd, die kunnen worden gebruikt voor toegang tot elke functie in de app. Het retourneert ook de systeemsleutel, waardoor iedereen op beheerdersniveau toegang krijgt tot de API's van alle functie-apps.

U kunt ook minimale bevoegdheden oefenen met behulp van de sleutel alleen voor de specifieke functietoets door functiesleutels te selecteren onder Ontwikkelaar in uw door HTTP geactiveerde functie.

Ontwikkelingsbeperkingen in Azure Portal

U moet rekening houden met deze beperkingen bij het ontwikkelen van uw functies in Azure Portal:

  • Bewerken in de portal wordt alleen ondersteund voor JavaScript-, PowerShell-, Python- en C#-scriptfuncties.
  • Bewerken in de Python-portal wordt alleen ondersteund bij uitvoering in het verbruiksabonnement.
  • Bewerken in de portal wordt momenteel alleen ondersteund voor functies die zijn gemaakt of voor het laatst zijn gewijzigd in de portal.
  • Wanneer u code implementeert in een functie-app van buiten de portal, kunt u de code voor die functie-app niet meer bewerken in de portal. In dit geval kunt u gewoon doorgaan met het gebruik van lokale ontwikkeling.
  • Voor gecompileerde C#-functies, Java-functies en sommige Python-functies kunt u de functie-app en gerelateerde resources in de portal maken. U moet het functiecodeproject echter lokaal maken en vervolgens publiceren naar Azure.

Indien mogelijk moet u uw functies lokaal ontwikkelen en uw codeproject publiceren naar een functie-app in Azure. Zie Code and test Azure Functions lokaal voor meer informatie.

Extensies handmatig installeren

C#-klassenbibliotheekfuncties kunnen de NuGet-pakketten voor bindingsextensies rechtstreeks in het klassebibliotheekproject bevatten. Voor andere non-.NET talen en C#-scripts moet u extensiebundels gebruiken. Als u extensies handmatig moet installeren, kunt u dit doen met behulp van Azure Functions Core Tools lokaal. Als u geen uitbreidingsbundels kunt gebruiken en alleen in de portal kunt werken, moet u Geavanceerde hulpprogramma's (Kudu) gebruiken om het bestand extensions.csproj rechtstreeks op de site te maken. Zorg ervoor dat u eerst het extensionBundle element uit het host.json-bestand verwijdert.

Hetzelfde proces werkt voor elk ander bestand dat u aan uw app moet toevoegen.

Belangrijk

Indien mogelijk moet u bestanden niet rechtstreeks bewerken in uw functie-app in Azure. Het is raadzaam om uw app-bestanden lokaal te downloaden, Core Tools te gebruiken om extensies en andere pakketten te installeren, uw wijzigingen te valideren en uw app vervolgens opnieuw te publiceren met Behulp van Core Tools of een van de andere ondersteunde implementatiemethoden.

Met de Functions-editor die is ingebouwd in Azure Portal, kunt u uw functiecode en configuratiebestanden rechtstreeks in de portal bijwerken.

  1. Selecteer uw functie-app en selecteer vervolgens onder Functions Functions.
  2. Kies uw functie en selecteer Code + test onder Developer.
  3. Kies het bestand dat u wilt bewerken en selecteer Opslaan wanneer u klaar bent.

Bestanden in de hoofdmap van de app, zoals function.proj of extensions.csproj, moeten worden gemaakt en bewerkt met behulp van de Geavanceerde hulpprogramma's (Kudu).

  1. Selecteer uw functie-app en selecteer vervolgens onder Ontwikkelhulpprogramma's Geavanceerde hulpprogramma's>Go.

  2. Meld u aan bij de SCM-site met uw Azure-referenties als u hierom wordt gevraagd.

  3. Kies CMD in het consolemenu Foutopsporing.

  4. Navigeer naar .\site\wwwroot, selecteer het plusteken (+) bovenaan en selecteer Nieuw bestand.

  5. Geef het bestand een naam, bijvoorbeeld extensions.csproj en druk op Enter.

  6. Selecteer de knop Bewerken naast het nieuwe bestand, voeg code toe of werk deze bij in het bestand en selecteer Opslaan.

  7. Voer voor een projectbestand zoals extensions.csproj de volgende opdracht uit om het uitbreidingsproject opnieuw op te bouwen:

    dotnet build extensions.csproj
    

Functies van het platform

Functie-apps worden uitgevoerd en worden onderhouden door het Azure-app Service-platform. Als zodanig hebben uw functie-apps toegang tot de meeste functies van het kernwebhostingplatform van Azure. Wanneer u in Azure Portal werkt, hebt u in het linkerdeelvenster toegang tot de vele functies van het App Service-platform dat u in uw functie-apps kunt gebruiken.

De volgende matrix geeft ondersteuning voor portalfuncties aan door het hostingabonnement en het besturingssysteem te hosten:

Functie Verbruiksabonnement Premium-abonnement Toegewezen abonnement
Geavanceerde hulpprogramma's (Kudu) Windows: ✔
Linux: X
App Service-editor Windows: ✔
Linux: X
Windows: ✔
Linux: X
Windows: ✔
Linux: X
Back-ups X X
Console Windows: opdrachtregel
Linux: X
Windows: opdrachtregel
Linux: SSH
Windows: opdrachtregel
Linux: SSH

De rest van dit artikel is gericht op de volgende functies in de portal die nuttig zijn voor uw functie-apps:

Zie Azure-app Service configureren Instellingen voor meer informatie over het werken met App Service-instellingen.

App Service-editor

The App Service editor

De App Service-editor is een geavanceerde editor in de portal die u kunt gebruiken om JSON-configuratiebestanden en codebestanden te wijzigen. Als u deze optie kiest, wordt een afzonderlijk browsertabblad geopend met een basiseditor. Hiermee kunt u integreren met de Git-opslagplaats, code uitvoeren en fouten opsporen en instellingen voor functie-apps wijzigen. Deze editor biedt een verbeterde ontwikkelomgeving voor uw functies in vergelijking met de ingebouwde functie-editor.

We raden u aan om uw functies te ontwikkelen op uw lokale computer. Wanneer u lokaal ontwikkelt en publiceert naar Azure, zijn uw projectbestanden alleen-lezen in de portal. Zie Code and test Azure Functions lokaal voor meer informatie.

Console

Function app console

De console in de portal is een ideaal hulpprogramma voor ontwikkelaars wanneer u liever vanaf de opdrachtregel met uw functie-app werkt. Algemene opdrachten zijn onder andere het maken van mappen en bestanden en navigatie, evenals het uitvoeren van batchbestanden en scripts.

Bij het lokaal ontwikkelen wordt u aangeraden de Azure Functions Core Tools en de Azure CLI te gebruiken.

Geavanceerde hulpmiddelen (Kudu)

Configure Kudu

De geavanceerde hulpprogramma's voor App Service (ook wel Kudu genoemd) bieden toegang tot geavanceerde beheerfuncties van uw functie-app. Vanuit Kudu beheert u systeemgegevens, app-instellingen, omgevingsvariabelen, site-extensies, HTTP-headers en servervariabelen. U kunt Kudu ook starten door naar het SCM-eindpunt voor uw functie-app te bladeren, zoalshttps://<myfunctionapp>.scm.azurewebsites.net/

Implementatiecenter

Wanneer u een broncodebeheeroplossing gebruikt om uw functiecode te ontwikkelen en te onderhouden, kunt u met Deployment Center bouwen en implementeren vanuit broncodebeheer. Uw project wordt gebouwd en geïmplementeerd in Azure wanneer u updates aanbrengt. Zie Implementatietechnologieën in Azure Functions voor meer informatie.

Cross-origin-resources delen

Om te voorkomen dat schadelijke code wordt uitgevoerd op de client, blokkeren moderne browsers aanvragen van webtoepassingen naar resources die in een afzonderlijk domein worden uitgevoerd. Met CORS (Cross-Origin Resource Sharing) kan een Access-Control-Allow-Origin header aangeven welke origins eindpunten mogen aanroepen in uw functie-app.

Portal

Wanneer u de lijst met toegestane oorsprongen voor uw functie-app configureert, wordt de Access-Control-Allow-Origin header automatisch toegevoegd aan alle antwoorden van HTTP-eindpunten in uw functie-app.

Configure function app's CORS list

Het jokerteken (*) wordt genegeerd als er een andere domeinvermelding is.

Gebruik de az functionapp cors add opdracht om een domein toe te voegen aan de lijst met toegestane origins. In het volgende voorbeeld wordt het contoso.com domein toegevoegd:

az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com

Gebruik de az functionapp cors show opdracht om de huidige toegestane oorsprongen weer te geven.

Verificatie

Configure authentication for a function app

Wanneer functies een HTTP-trigger gebruiken, kunt u vereisen dat aanroepen eerst worden geverifieerd. App Service ondersteunt Microsoft Entra-verificatie en aanmelding met sociale providers, zoals Facebook, Microsoft en Twitter. Zie Azure-app Overzicht van serviceverificatie voor meer informatie over het configureren van specifieke verificatieproviders.

Volgende stappen