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.
Verbindingsreeksen, 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
Volg deze stappen om de app-instellingen in uw functie-app weer te geven:
Meld u met uw Azure-account aan bij Azure Portal. Zoek uw functie-app en selecteer deze.
Vouw in het linkerdeelvenster van uw functie-app Instellingen uit, selecteer Omgevingsvariabelen en selecteer vervolgens het tabblad App-instellingen.
Werken met toepassingsinstellingen
Naast de vooraf gedefinieerde app-instellingen die door Azure Functions worden gebruikt, kunt u een willekeurig aantal app-instellingen maken, zoals vereist door uw functiecode. Zie de naslaginformatie over app-instellingen voor Azure Functions voor meer informatie.
Deze instellingen worden versleuteld opgeslagen. Zie Beveiliging van app-instellingen voor meer informatie.
U kunt app-instellingen beheren vanuit Azure Portal en met behulp van de Azure CLI en Azure PowerShell. U kunt ook app-instellingen beheren vanuit Visual Studio Code en Vanuit Visual Studio.
Zie Aan de slag in Azure Portal om uw app-instellingen weer te geven.
Het tabblad App-instellingen onderhoudt instellingen die worden gebruikt door uw functie-app:
Toepassingsinstellingen gebruiken
De instellingen van de functie-app kunnen in uw code ook worden gelezen als omgevingsvariabelen. Zie de sectie Omgevingsvariabelen van deze taalspecifieke naslagartikelen 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 u voor deze implementatiemethode triggers moet synchroniseren, wordt dit niet aanbevolen. Als u projectbestanden veilig wilt overdragen, gebruikt u altijd FTPS en niet FTP.
Gebruik een van de volgende methoden om de referenties op te halen die vereist zijn voor de FTPS-implementatie:
U kunt de FTPS-publicatiereferenties ophalen in Azure Portal door het publicatieprofiel voor uw functie-app te downloaden.
Belangrijk
Het publicatieprofiel bevat belangrijke beveiligingsreferenties. Beveilig het gedownloade bestand altijd op uw lokale computer.
Het publicatieprofiel van uw functie-app downloaden:
Zoek in Azure Portal de pagina voor uw functie-app en vouw Instellingenconfiguratie> uit in de linkerkolom.
Selecteer op de pagina Configuratie het tabblad Algemene instellingen en zorg ervoor dat SCM Basic Auth Publishing Credentials is ingeschakeld. Wanneer deze instelling is uitgeschakeld, kunt u geen publicatieprofielen gebruiken, dus selecteer Aan en vervolgens Opslaan.
Ga terug naar de overzichtspagina van de functie-app en selecteer vervolgens Publicatieprofiel ophalen.
Sla de inhoud van het bestand op en kopieer deze.
- Zoek in het bestand het
publishProfile
element met het kenmerkpublishMethod="FTP"
. In dit element bevatten depublishUrl
,userName
enuserPWD
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 Azure Functions-hostingopties 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 | Azure Portal | Azure CLI/PowerShell |
---|---|---|
Verbruik | Verbruik | Dynamic |
Premium | ElasticPremium | ElasticPremium |
Toegewezen (App Service) | Diverse | Diverse |
Zie het App Service-plan op de pagina Overzicht van 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 instellingeneigenschappen > in het linkerdeelvenster.
Migratie plannen
U kunt een functie-app 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 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.
U kunt uw plan migreren met behulp van deze hulpprogramma's:
U kunt Azure Portal gebruiken om over te schakelen naar een ander abonnement.
Kies de richting van de migratie voor uw app in Windows.
Ontwikkelingsbeperkingen in Azure Portal
In de volgende tabel ziet u de besturingssystemen en talen die ondersteuning bieden voor bewerking in de portal:
Taal | Windows-verbruik | Windows Premium | Windows Dedicated | Linux-verbruik | Linux Premium | Linux Dedicated |
---|---|---|---|---|---|---|
C# | ||||||
Java | ||||||
JavaScript (node.js) | ✔ | ✔ | ✔ | ✔ | ✔ | |
Python | ✔ | ✔ | ✔ | |||
Powershell | ✔ | ✔ | ✔ | |||
TypeScript (Node.js) |
Houd rekening met deze beperkingen wanneer u uw functies ontwikkelt in Azure Portal:
- Bewerken in de portal wordt alleen ondersteund voor functies die zijn gemaakt of voor het laatst zijn gewijzigd in Azure Portal.
- Bewerken in de portal wordt alleen ondersteund voor JavaScript-, PowerShell-, Python- en C#-scriptfuncties.
- Bewerken in de portal wordt momenteel niet ondersteund door het Flex Consumption-abonnement.
- Wanneer u code implementeert in een functie-app van buiten Azure 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 Python wordt ontwikkeling met aangepaste modules momenteel niet ondersteund in de portal. Als u aangepaste modules wilt toevoegen aan uw functie-app, moet u uw app lokaal ontwikkelen.
- Voor gecompileerde C#-functies en Java-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.
Ontwikkel uw functies indien mogelijk lokaal en publiceer uw codeproject 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
Bewerk bestanden indien mogelijk niet rechtstreeks 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:
Selecteer uw functie-app en selecteer vervolgens onder Functions de optie Functions.
Kies uw functie en selecteer Code + test onder Developer.
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):a1>
Selecteer uw functie-app, vouw ontwikkelhulpprogramma's uit en selecteer vervolgens Geavanceerde hulpprogramma's>Go.
Meld u aan bij de SCM-site (Source Control Manager) met uw Azure-referenties als u hierom wordt gevraagd.
Kies CMD in het consolemenu Foutopsporing.
Navigeer naar
.\site\wwwroot
, selecteer het plusteken (+) bovenaan en selecteer Nieuw bestand.Geef het bestand een naam, bijvoorbeeld
extensions.csproj
en druk op Enter.Selecteer de knop Bewerken naast het nieuwe bestand, voeg code toe of werk deze bij in het bestand en selecteer Opslaan.
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 in het Azure-app Service-platform, dat ze onderhoudt. Als zodanig hebben uw functie-apps toegang tot de meeste functies van het kernwebhostingplatform van Azure. Wanneer u Azure Portal gebruikt, 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 de ondersteuning van azure Portal-functies aan door het hostingabonnement en het besturingssysteem te hosten:
Functie | Verbruiksabonnement | Flex Consumption-abonnement | Premium-abonnement | Toegewezen abonnement |
---|---|---|---|---|
Geavanceerde hulpprogramma's (Kudu) | Ramen: ✔ Linux: X |
X | ✔ | ✔ |
App Service-editor | Ramen: ✔ Linux: X |
X | Ramen: ✔ Linux: X |
Ramen: ✔ Linux: X |
Back-ups | X | X | X | ✔ |
Console | Windows: opdrachtregel Linux: X |
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:
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. Met deze editor 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 Azure Portal. Zie Code and test Azure Functions lokaal voor meer informatie.
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)
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, bijvoorbeeld: https://<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.
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.
Als er nog een domeinvermelding is, wordt het jokerteken (*) genegeerd.
Verificatie
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 X. Zie Azure-app Overzicht van serviceverificatie voor informatie over het configureren van specifieke verificatieproviders.