Hantera din funktionsapp
I Azure Functions tillhandahåller en funktionsapp körningskontexten för dina enskilda funktioner. Funktionsappbeteenden gäller för alla funktioner som hanteras av en viss funktionsapp. Alla funktioner i en funktionsapp måste ha samma språk.
Enskilda funktioner i en funktionsapp distribueras tillsammans och skalas tillsammans. Alla funktioner i samma funktionsapp delar resurser, per instans, som funktionsappen skalar.
Anslutningssträngar, miljövariabler och andra programinställningar definieras separat för varje funktionsapp. Alla data som måste delas mellan funktionsappar ska lagras externt i ett sparat lager.
Kom igång i Azure-portalen
Kommentar
På grund av begränsningar för redigering av funktionskod i Azure Portal bör du utveckla dina funktioner lokalt och publicera kodprojektet till en funktionsapp i Azure. Mer information finns i Utvecklingsbegränsningar i Azure Portal
Följ dessa steg om du vill visa appinställningarna i funktionsappen:
Logga in på Azure Portal med ditt Azure-konto. Sök efter funktionsappen och välj den.
I den vänstra rutan i funktionsappen expanderar du Inställningar, väljer Miljövariabler och väljer sedan fliken Appinställningar.
Arbeta med programinställningar
Förutom de fördefinierade appinställningar som används av Azure Functions kan du skapa valfritt antal appinställningar, vilket krävs av funktionskoden. Mer information finns i Referens för appinställningar för Azure Functions.
De här inställningarna lagras krypterade. Mer information finns i Säkerhet för appinställningar.
Du kan hantera appinställningar från Azure Portal och med hjälp av Azure CLI och Azure PowerShell. Du kan också hantera appinställningar från Visual Studio Code och från Visual Studio.
Information om hur du visar dina appinställningar finns i Kom igång i Azure Portal.
Fliken Appinställningar har inställningar som används av funktionsappen:
Använda programinställningar
Inställningsvärden för funktionsappen kan också läsas i koden som miljövariabler. Mer information finns i avsnittet Miljövariabler i dessa språkspecifika referensartiklar:
När du utvecklar en funktionsapp lokalt måste du underhålla lokala kopior av dessa värden i local.settings.json-projektfilen. Mer information finns i Filen Lokala inställningar.
FTPS-distributionsinställningar
Azure Functions har stöd för distribution av projektkod till funktionsappen med hjälp av FTPS. Eftersom den här distributionsmetoden kräver att du synkroniserar utlösare rekommenderas det inte. Om du vill överföra projektfiler på ett säkert sätt använder du alltid FTPS och inte FTP.
Använd någon av följande metoder för att hämta de autentiseringsuppgifter som krävs för FTPS-distribution:
Du kan hämta autentiseringsuppgifterna för FTPS-publicering i Azure Portal genom att ladda ned publiceringsprofilen för funktionsappen.
Viktigt!
Publiceringsprofilen innehåller viktiga säkerhetsautentiseringsuppgifter. Skydda alltid den nedladdade filen på den lokala datorn.
Så här laddar du ned publiceringsprofilen för funktionsappen:
I Azure Portal letar du upp sidan för funktionsappen och expanderar Konfiguration av inställningar>i den vänstra kolumnen.
På sidan Konfiguration väljer du fliken Allmänna inställningar och kontrollerar att SCM Basic Auth Publishing Credentials är aktiverat. När den här inställningen är Av kan du inte använda publiceringsprofiler, så välj På och sedan Spara.
Gå tillbaka till funktionsappens Översiktssida och välj sedan Hämta publiceringsprofil.
Spara och kopiera innehållet i filen.
- Leta upp elementet
publishProfile
med attributetpublishMethod="FTP"
i filen . I det här elementet innehåller attributenpublishUrl
,userName
ochuserPWD
mål-URL och autentiseringsuppgifter för FTPS-publicering.
Typ av värdplan
När du skapar en funktionsapp skapar du också en värdplan där appen körs. En plan kan ha en eller flera funktionsappar. Funktionerna, skalningen och prissättningen för dina funktioner beror på typen av plan. Mer information finns i Azure Functions-värdalternativ.
Du kan fastställa vilken typ av plan som används av funktionsappen från Azure Portal eller med hjälp av Azure CLI- eller Azure PowerShell-API:erna.
Följande värden anger plantypen:
Abonnemangstyp | Azure Portal | Azure CLI/PowerShell |
---|---|---|
Förbrukning | Förbrukning | Dynamic |
Premium | ElasticPremium | ElasticPremium |
Dedikerad (App Service) | Olika | Olika |
Information om vilken typ av plan som används av funktionsappen finns i App Service-planen på sidan Översikt för funktionsappen i Azure Portal.
Om du vill se prisnivån väljer du namnet på App Service-planen och väljer sedan Inställningar > Egenskaper i det vänstra fönstret.
Planera migrering
Du kan migrera en funktionsapp mellan en förbrukningsplan och en Premium-plan i Windows. Tänk på följande när du migrerar mellan planer:
- Direktmigrering till en dedikerad plan (App Service) stöds inte.
- Migrering stöds inte i Linux.
- Källplanen och målplanen måste finnas i samma resursgrupp och geografiska region. Mer information finns i Flytta en app till en annan App Service-plan.
- De specifika CLI-kommandona beror på migreringens riktning.
- Stilleståndstid i funktionskörningarna inträffar när funktionsappen migreras mellan planerna.
- Tillstånd och annat appspecifikt innehåll underhålls eftersom samma Azure Files-resurs används av appen både före och efter migreringen.
Du kan migrera din plan med hjälp av följande verktyg:
Du kan använda Azure Portal för att växla till en annan plan.
Välj riktningen för migreringen för din app i Windows.
Utvecklingsbegränsningar i Azure Portal
I följande tabell visas de operativsystem och språk som stöder redigering i portalen:
Språk | Windows-förbrukning | Windows Premium | Windows Dedicated | Linux-förbrukning | Linux Premium | Dedikerad Linux |
---|---|---|---|---|---|---|
C# | ||||||
Java | ||||||
JavaScript (Node.js) | ✔ | ✔ | ✔ | ✔ | ✔ | |
Python | ✔ | ✔ | ✔ | |||
PowerShell | ✔ | ✔ | ✔ | |||
TypeScript (Node.js) |
Tänk på dessa begränsningar när du utvecklar dina funktioner i Azure Portal:
- Redigering i portalen stöds endast för funktioner som skapades eller senast ändrades i Azure Portal.
- Redigering i portalen stöds endast för JavaScript-, PowerShell-, Python- och C#-skriptfunktioner.
- Redigering i portalen stöds för närvarande inte av Flex Consumption-planen.
- När du distribuerar kod till en funktionsapp utanför Azure Portal kan du inte längre redigera någon av koden för funktionsappen i portalen. I det här fallet fortsätter du bara att använda lokal utveckling.
- För Python stöds inte utveckling med anpassade moduler för närvarande i portalen. Om du vill lägga till anpassade moduler i funktionsappen måste du utveckla appen lokalt.
- För kompilerade C#-funktioner och Java-funktioner kan du skapa funktionsappen och relaterade resurser i portalen. Du måste dock skapa funktionskodprojektet lokalt och sedan publicera det till Azure.
När det är möjligt kan du utveckla dina funktioner lokalt och publicera kodprojektet till en funktionsapp i Azure. Mer information finns i Koda och testa Azure Functions lokalt.
Installera tillägg manuellt
C#-klassbiblioteksfunktioner kan innehålla NuGet-paketen för bindningstillägg direkt i klassbiblioteksprojektet. För andra non-.NET språk och C#-skript bör du använda tilläggspaket. Om du måste installera tillägg manuellt kan du göra det med hjälp av Azure Functions Core Tools lokalt. Om du inte kan använda tilläggspaket och bara kan arbeta i portalen måste du använda Avancerade verktyg (Kudu) för att manuellt skapa filen extensions.csproj direkt på webbplatsen. Se till att först ta bort elementet extensionBundle
från host.json-filen.
Samma process fungerar för alla andra filer som du behöver lägga till i din app.
Viktigt!
När det är möjligt ska du inte redigera filer direkt i funktionsappen i Azure. Vi rekommenderar att du laddar ned dina appfiler lokalt, använder Core Tools för att installera tillägg och andra paket, validera dina ändringar och sedan publicera om appen med core tools eller någon av de andra distributionsmetoder som stöds.
Med Functions-redigeraren som är inbyggd i Azure Portal kan du uppdatera funktionskoden och konfigurationsfilerna direkt i portalen:
Välj din funktionsapp och välj sedan Funktioner under Funktioner.
Välj din funktion och välj Kod + test under Utvecklare.
Välj filen som ska redigeras och välj Spara när du är klar.
Filer i appens rot, till exempel function.proj eller extensions.csproj, måste skapas och redigeras med hjälp av Avancerade verktyg (Kudu):
Välj din funktionsapp, expandera Utvecklingsverktyg och välj sedan Avancerade verktyg>Gå.
Om du uppmanas att göra det loggar du in på SCM-webbplatsen (Source Control Manager) med dina Azure-autentiseringsuppgifter.
På menyn Felsökningskonsol väljer du CMD.
Gå till
.\site\wwwroot
, välj plusknappen (+) längst upp och välj Ny fil.Ge filen ett namn, till exempel
extensions.csproj
, och tryck sedan på Retur.Välj knappen Redigera bredvid den nya filen, lägg till eller uppdatera kod i filen och välj sedan Spara.
För en projektfil som extensions.csproj kör du följande kommando för att återskapa tilläggsprojektet:
dotnet build extensions.csproj
Plattformsfunktioner
Funktionsappar körs på Azure App Service-plattformen, vilket underhåller dem. Därför har dina funktionsappar åtkomst till de flesta funktionerna i Azures kärnwebbvärdplattform. När du använder Azure Portal är den vänstra rutan där du kommer åt de många funktionerna i App Service-plattformen som du kan använda i dina funktionsappar.
Följande matris anger Azure Portal funktionsstöd genom värdplan och operativsystem:
Funktion | Förbrukningsplan | Flex-förbrukningsplan | Premiumplan | Dedikerad plan |
---|---|---|---|---|
Avancerade verktyg (Kudu) | Windows: ✔ Linux: X |
X | ✔ | ✔ |
App Service-redigeraren | Windows: ✔ Linux: X |
X | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Säkerhetskopior | X | X | X | ✔ |
Konsol | Windows: kommandorad Linux: X |
X | Windows: kommandorad Linux: SSH |
Windows: kommandorad Linux: SSH |
Resten av den här artikeln fokuserar på följande funktioner i portalen som är användbara för dina funktionsappar:
Mer information om hur du arbetar med App Service-inställningar finns i Konfigurera Azure App Service-inställningar.
App Service-redigeraren
App Service-redigeraren är en avancerad portalredigerare som du kan använda för att ändra JSON-konfigurationsfiler och kodfiler på samma sätt. Om du väljer det här alternativet startas en separat webbläsarflik med en grundläggande redigerare. Med den här redigeraren kan du integrera med Git-lagringsplatsen, köra och felsöka kod och ändra funktionsappsinställningar. Den här redigeraren ger en förbättrad utvecklingsmiljö för dina funktioner jämfört med den inbyggda funktionsredigeraren.
Vi rekommenderar att du överväger att utveckla dina funktioner på den lokala datorn. När du utvecklar lokalt och publicerar till Azure är dina projektfiler skrivskyddade i Azure Portal. Mer information finns i Koda och testa Azure Functions lokalt.
Konsol
Konsolen i portalen är ett perfekt utvecklarverktyg när du föredrar att interagera med din funktionsapp från kommandoraden. Vanliga kommandon är katalog- och filskapande och navigering, samt körning av batchfiler och skript.
När du utvecklar lokalt rekommenderar vi att du använder Azure Functions Core Tools och Azure CLI.
Avancerade verktyg (Kudu)
De avancerade verktygen för App Service (kallas även Kudu) ger åtkomst till avancerade administrativa funktioner i funktionsappen. Från Kudu hanterar du systeminformation, appinställningar, miljövariabler, webbplatstillägg, HTTP-huvuden och servervariabler. Du kan också starta Kudu genom att bläddra till SCM-slutpunkten för din funktionsapp, till exempel: https://<myfunctionapp>.scm.azurewebsites.net/
.
Distributionscenter
När du använder en källkontrolllösning för att utveckla och underhålla din funktionskod kan du skapa och distribuera distributionen från källkontroll i Distributionscenter. Projektet skapas och distribueras till Azure när du gör uppdateringar. Mer information finns i Distributionstekniker i Azure Functions.
Cross-origin resource sharing (CORS)
För att förhindra körning av skadlig kod på klienten blockerar moderna webbläsare begäranden från webbprogram till resurser som körs i en separat domän. Med resursdelning mellan ursprung (CORS) kan ett Access-Control-Allow-Origin
huvud deklarera vilka ursprung som tillåts anropa slutpunkter i funktionsappen.
När du konfigurerar listan Över tillåtna ursprung för funktionsappen läggs huvudet automatiskt till i alla svar från HTTP-slutpunkter i funktionsappen Access-Control-Allow-Origin
.
Om det finns en annan domänpost ignoreras jokertecknet (*).
Autentisering
När funktioner använder en HTTP-utlösare kan du kräva att anrop först autentiseras. App Service stöder Microsoft Entra-autentisering och inloggning med sociala leverantörer, till exempel Facebook, Microsoft och X. Information om hur du konfigurerar specifika autentiseringsprovidrar finns i Översikt över Azure App Service-autentisering.