Správa aplikace funkcí

V Azure Functions poskytuje aplikace funkcí kontext spuštění jednotlivých funkcí. Chování aplikace funkcí se vztahuje na všechny funkce hostované danou aplikací funkcí. Všechny funkce v aplikaci funkcí musí být ve stejném jazyce.

Jednotlivé funkce v aplikaci funkcí se nasazují společně a škálují se společně. Všechny funkce ve stejné aplikaci funkcí sdílejí prostředky na instanci, jak se aplikace funkcí škáluje.

Připojení řetězce, proměnné prostředí a další nastavení aplikace se definují pro každou aplikaci funkcí samostatně. Všechna data, která musí být sdílená mezi aplikacemi funkcí, by se měla ukládat externě v trvalém úložišti.

Začínáme na webu Azure Portal

Poznámka:

Vzhledem k omezením úprav kódu funkce na webu Azure Portal byste měli vyvíjet funkce místně a publikovat projekt kódu do aplikace funkcí v Azure. Další informace najdete v tématu Omezení vývoje na webu Azure Portal.

  1. Začněte tím, že se přihlásíte k webu Azure Portal pomocí svého účtu Azure. Na panelu hledání v horní části portálu zadejte název aplikace funkcí a vyberte ji ze seznamu.

  2. V části Nastavení v levém podokně vyberte Konfigurace.

    Function app overview in the Azure portal

Na stránce přehledu můžete přejít ke všemu, co potřebujete ke správě aplikace funkcí, zejména k nastavení aplikace a funkcím platformy.

Práce s nastavením aplikace

Můžete vytvořit libovolný počet nastavení aplikace vyžadovaných kódem funkce. Functions také používá předdefinovaná nastavení aplikace. Další informace najdete v referenčních informacích k nastavení aplikace pro Azure Functions.

Tato nastavení jsou uložena zašifrovaná. Další informace najdete v tématu Zabezpečení nastavení aplikace.

Nastavení aplikace je možné spravovat z webu Azure Portal a pomocí Azure CLI a Azure PowerShellu. Nastavení aplikace můžete spravovat také v editoru Visual Studio Code a v sadě Visual Studio.

Informace o nastavení aplikace najdete v tématu Začínáme na webu Azure Portal.

Karta Nastavení aplikace udržuje nastavení, která používá vaše aplikace funkcí. Pokud chcete zobrazit hodnoty na portálu, musíte vybrat Možnost Zobrazit hodnoty . Pokud chcete na portálu přidat nastavení, vyberte Nové nastavení aplikace a přidejte nový pár klíč-hodnota.

Function app settings in the Azure portal.

Použití nastavení aplikace

Hodnoty nastavení aplikace funkcí je možné v kódu číst také jako proměnné prostředí. Další informace najdete v části Proměnné prostředí v těchto referenčních tématech specifických pro jazyk:

Při místním vývoji aplikace funkcí musíte udržovat místní kopie těchto hodnot v souboru projektu local.settings.json. Další informace najdete v tématu Místní soubor nastavení.

Nastavení nasazení FTPS

Azure Functions podporuje nasazení kódu projektu do aplikace funkcí pomocí FTPS. Vzhledem k tomu, že tato metoda nasazení vyžaduje synchronizaci triggerů, tato metoda se nedoporučuje. K bezpečnému přenosu souborů projektu vždy používejte FTPS, nikoli FTP.

Přihlašovací údaje potřebné pro nasazení FTPS můžete získat pomocí jedné z těchto metod:

Přihlašovací údaje pro publikování FTPS můžete získat na webu Azure Portal stažením profilu publikování pro vaši aplikaci funkcí.

Důležité

Profil publikování obsahuje důležité přihlašovací údaje zabezpečení. Stažený soubor byste měli vždy zabezpečit na místním počítači.

Stažení profilu publikování aplikace funkcí:

  1. Vyberte stránku Přehled aplikace funkcí a pak vyberte Získat profil publikování.

    Download publish profile

  2. Uložte a zkopírujte obsah souboru.

  1. V souboru vyhledejte publishProfile prvek s atributem publishMethod="FTP". V tomto elementu publishUrluserName, a userPWD atributy obsahují cílovou adresu URL a přihlašovací údaje pro publikování FTPS.

Typ plánu hostování

Když vytvoříte aplikaci funkcí, vytvoříte také plán hostování, ve kterém se aplikace spouští. Plán může mít jednu nebo více aplikací funkcí. Funkce, škálování a ceny vašich funkcí závisí na typu plánu. Další informace najdete v tématu Možnosti hostování azure Functions.

Typ plánu, který vaše aplikace funkcí používá, můžete určit na webu Azure Portal nebo pomocí Rozhraní příkazového řádku Azure nebo rozhraní API Azure PowerShellu.

Následující hodnoty označují typ plánu:

Typ plánu Portál Azure CLI / PowerShell
Využití Využití Dynamic
Premium ElasticPremium ElasticPremium
Dedicated (App Service) Různé Různé

Pokud chcete určit typ plánu používaného vaší aplikací funkcí, podívejte se na plán služby App Service na kartě Přehled aplikace funkcí na webu Azure Portal. Pokud chcete zobrazit cenovou úroveň, vyberte název plánu služby App Service a pak v levém podokně vyberte Vlastnosti .

View scaling plan in the portal

Plánování migrace

K migraci aplikace funkcí mezi plánem Consumption a plánem Premium ve Windows můžete použít příkazy webu Azure Portal nebo Azure CLI. Při migraci mezi plány mějte na paměti následující aspekty:

  • Přímá migrace do plánu Dedicated (App Service) se v současné době nepodporuje.
  • Migrace není v Linuxu podporovaná.
  • Zdrojový plán a cílový plán musí být ve stejné skupině prostředků a geografické oblasti. Další informace najdete v tématu Přesunutí aplikace do jiného plánu služby App Service.
  • Konkrétní příkazy rozhraní příkazového řádku závisí na směru migrace.
  • Při migraci aplikace funkcí mezi plány dochází k výpadkům při provádění funkcí.
  • Udržuje se stav a další obsah specifický pro aplikaci, protože stejná sdílená složka Azure Files je používána aplikací před migrací i po migraci.

Migrace na portálu

Na webu Azure Portal přejděte do aplikace plánu Consumption nebo Premium a v části Plán služby App Service zvolte Změnit plán služby App Service. Vyberte jiný typ plánu, vytvořte nový plán služby App Service nového typu a vyberte OK. Další informace najdete v tématu Přesunutí aplikace do jiného plánu služby App Service.

Spotřeba na Premium

Pokud chcete migrovat z plánu Consumption na plán Premium ve Windows, použijte následující postup:

  1. Spuštěním příkazu az functionapp plan create následujícím způsobem vytvořte nový plán služby App Service (Elastic Premium) ve stejné oblasti a skupině prostředků jako vaše stávající aplikace funkcí:

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Spuštěním příkazu az functionapp update následujícím způsobem migrujte existující aplikaci funkcí do nového plánu Premium:

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Pokud už předchozí plán aplikace funkcí Consumption nepotřebujete, odstraňte původní plán aplikace funkcí po potvrzení úspěšné migrace na nový plán. Spuštěním příkazu az functionapp plan list následujícím způsobem získejte seznam všech plánů Consumption ve vaší skupině prostředků:

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

    Plán můžete bezpečně odstranit s nulovými lokalitami, což je plán, ze kterého jste migrovali.

  4. Spuštěním příkazu az functionapp plan delete následujícím způsobem odstraňte plán Consumption, ze který jste migrovali.

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

Premium na spotřebu

Pokud chcete migrovat z plánu Premium na plán Consumption ve Windows, použijte následující postup:

  1. Spuštěním příkazu az functionapp plan create následujícím způsobem vytvořte novou aplikaci funkcí (Consumption) ve stejné oblasti a skupině prostředků jako vaše stávající aplikace funkcí. Tento příkaz také vytvoří nový plán Consumption, ve kterém běží aplikace funkcí.

    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. Spuštěním příkazu az functionapp update následujícím způsobem migrujte existující aplikaci funkcí do nového plánu Consumption.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
    
  3. Spuštěním příkazu az functionapp delete následujícím způsobem odstraňte aplikaci funkcí, kterou jste vytvořili v kroku 1, protože k spuštění existující aplikace funkcí potřebujete jenom plán vytvořený.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Pokud už předchozí plán aplikace funkcí Premium nepotřebujete, po potvrzení úspěšné migrace na nový plán odstraňte původní plán aplikace funkcí. Dokud nedojde k odstranění plánu Premium, budou se vám za něj dál účtovat poplatky. Spuštěním příkazu az functionapp plan list následujícím způsobem získejte seznam všech plánů Premium ve vaší skupině prostředků.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
    
  5. Spuštěním příkazu az functionapp plan delete následujícím způsobem odstraňte plán Premium, ze který jste migrovali.

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

Získání přístupových klíčů funkce

Funkce aktivované protokolem HTTP lze obecně volat pomocí adresy URL ve formátu: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Při autorizaci funkce je nastavena jiná hodnota než anonymous, musíte také zadat přístupový klíč v požadavku. Přístupový klíč je možné zadat buď v adrese URL pomocí ?code= řetězce dotazu, nebo v hlavičce požadavku. Další informace najdete v tématu Přístupové klíče funkce. Přístupové klíče můžete získat několika způsoby.

  1. Přihlaste se k webu Azure Portal a vyhledejte a vyberte Function App.

  2. Vyberte funkci, kterou chcete ověřit.

  3. V levém navigačním panelu v části Funkce vyberte klíče aplikace.

    Tím se vrátí klíče hostitele, které je možné použít pro přístup k libovolné funkci v aplikaci. Vrátí také systémový klíč, který každému správci dává přístup ke všem rozhraním API aplikace funkcí.

Nejnižší oprávnění můžete využít také tak, že použijete klíč jenom pro konkrétní funkční klíč tak, že v části Vývojář ve funkci aktivované protokolem HTTP vyberete funkční klíče.

Omezení vývoje na webu Azure Portal

Při vývoji funkcí na webu Azure Portal musíte zvážit tato omezení:

  • Úpravy na portálu se podporují jenom pro funkce JavaScriptu, PowerShellu, Pythonu a C#.
  • Úpravy Pythonu na portálu se podporují jenom při spuštění v plánu Consumption.
  • Úpravy na portálu se v současné době podporují jenom u funkcí, které byly vytvořeny nebo naposledy upraveny na portálu.
  • Když nasadíte kód do aplikace funkcí mimo portál, nebudete už moct upravovat žádný kód pro tuto aplikaci funkcí na portálu. V tomto případě pokračujte v používání místního vývoje.
  • Pro zkompilované funkce jazyka C#, funkce Java a některé funkce Pythonu můžete vytvořit aplikaci funkcí a související prostředky na portálu. Projekt kódu funkcí ale musíte vytvořit místně a pak ho publikovat do Azure.

Pokud je to možné, měli byste vyvíjet funkce místně a publikovat projekt kódu do aplikace funkcí v Azure. Další informace najdete v tématu Místní kód a otestování azure Functions.

Ruční instalace rozšíření

Funkce knihovny tříd jazyka C# mohou zahrnovat balíčky NuGet pro rozšíření vazeb přímo v projektu knihovny tříd. V případě jiných jazyků non-.NET a skriptů jazyka C# byste měli použít sady rozšíření. Pokud ručně instalujete rozšíření, můžete to provést pomocí nástrojů Azure Functions Core Tools místně. Pokud nemůžete použít sady rozšíření a můžete pracovat jenom na portálu, musíte k ručnímu vytvoření souboru extensions.csproj přímo na webu použít Rozšířené nástroje (Kudu ). Nejprve odeberte extensionBundle prvek ze souboru host.json.

Stejný postup funguje pro jakýkoli jiný soubor, který potřebujete přidat do aplikace.

Důležité

Pokud je to možné, neměli byste upravovat soubory přímo v aplikaci funkcí v Azure. Soubory aplikací doporučujeme stáhnout místně pomocí nástrojů Core Tools k instalaci rozšíření a dalších balíčků, ověření změn a následné opětovné publikování aplikace pomocí nástrojů Core Tools nebo jedné z dalších podporovaných metod nasazení.

Editor functions integrovaný na webu Azure Portal umožňuje aktualizovat kód funkce a konfigurační soubory přímo na portálu.

  1. Vyberte svou aplikaci funkcí a pak v části Funkce vyberte Funkce.
  2. Zvolte svoji funkci a v části Vývojář vyberte Kód + test.
  3. Zvolte soubor, který chcete upravit, a až budete hotovi, vyberte Uložit .

Soubory v kořenovém adresáři aplikace, jako je function.proj nebo extensions.csproj, je potřeba vytvářet a upravovat pomocí rozšířených nástrojů (Kudu).

  1. Vyberte svou aplikaci funkcí a pak v části Vývojové nástroje vyberte Pokročilé nástroje>Go.

  2. Pokud se zobrazí výzva, přihlaste se k webu SCM pomocí svých přihlašovacích údajů Azure.

  3. V nabídce konzolyLadění zvolte CMD.

  4. Přejděte na .\site\wwwroottlačítko plus (+) v horní části a vyberte Nový soubor.

  5. Pojmenujte soubor, například extensions.csproj a stiskněte Enter.

  6. Vyberte tlačítko upravit vedle nového souboru, přidejte nebo aktualizujte kód v souboru a vyberte Uložit.

  7. V případě souboru projektu, jako jsou extensions.csproj, spusťte následující příkaz a znovu sestavte projekt rozšíření:

    dotnet build extensions.csproj
    

Funkce platformy

Aplikace funkcí běží v platformě Aplikace Azure Service a spravují je. Aplikace funkcí tak mají přístup k většině funkcí základní platformy pro hostování webů Azure. Při práci na webu Azure Portal se v levém podokně dostanete k mnoha funkcím platformy App Service, které můžete použít ve svých aplikacích funkcí.

Následující matice označuje podporu funkcí portálu hostováním plánu a operačního systému:

Funkce Plán Consumption Plán Premium Plán Dedicated
Pokročilé nástroje (Kudu) Windows: ✔
Linux: X
Editor služby App Service Windows: ✔
Linux: X
Windows: ✔
Linux: X
Windows: ✔
Linux: X
Zálohování X X
Konzola Windows: příkazový řádek
Linux: X
Windows: příkazový řádek
Linux: SSH
Windows: příkazový řádek
Linux: SSH

Zbytek tohoto článku se zaměřuje na následující funkce na portálu, které jsou užitečné pro vaše aplikace funkcí:

Další informace o tom, jak pracovat s nastavením služby App Service, najdete v tématu Konfigurace Aplikace Azure Service Nastavení.

Editor služby App Service

The App Service editor

Editor služby App Service je pokročilý editor na portálu, který můžete použít k úpravě konfiguračních souborů JSON a souborů kódu stejně. Při výběru této možnosti se spustí samostatná karta prohlížeče se základním editorem. To umožňuje integraci s úložištěm Git, spuštěním a laděním kódu a úpravou nastavení aplikace funkcí. Tento editor poskytuje vylepšené vývojové prostředí pro vaše funkce v porovnání s integrovaným editorem funkcí.

Doporučujeme zvážit vývoj funkcí na místním počítači. Když vyvíjíte místně a publikujete je do Azure, soubory projektu jsou na portálu jen pro čtení. Další informace najdete v tématu Kód a místní testování služby Azure Functions.

Konzola

Function app console

Konzola na portálu je ideální vývojářský nástroj, když dáváte přednost interakci s aplikací funkcí z příkazového řádku. Mezi běžné příkazy patří vytváření adresářů a souborů a navigace a spouštění dávkových souborů a skriptů.

Při místním vývoji doporučujeme používat nástroje Azure Functions Core Tools a Azure CLI.

Rozšířené nástroje (Kudu)

Configure Kudu

Pokročilé nástroje služby App Service (označované také jako Kudu) poskytují přístup k pokročilým funkcím správy vaší aplikace funkcí. V Kudu spravujete systémové informace, nastavení aplikace, proměnné prostředí, rozšíření webu, hlavičky HTTP a proměnné serveru. Kudu můžete spustit také tak, že přejdete na koncový bod SCM pro vaši aplikaci funkcí, napříkladhttps://<myfunctionapp>.scm.azurewebsites.net/

Deployment Center

Když používáte řešení správy zdrojového kódu k vývoji a údržbě kódu funkcí, deployment Center umožňuje sestavovat a nasazovat ze správy zdrojového kódu. Projekt se sestaví a nasadí do Azure při provádění aktualizací. Další informace najdete v tématu Technologie nasazení ve službě Azure Functions.

Sdílení prostředků různého původu

Aby se zabránilo spuštění škodlivého kódu na klientovi, moderní prohlížeče blokují požadavky z webových aplikací na prostředky spuštěné v samostatné doméně. Sdílení prostředků mezi zdroji (CORS) umožňuje Access-Control-Allow-Origin deklarovat, které zdroje můžou volat koncové body ve vaší aplikaci funkcí.

Portál

Když nakonfigurujete seznam Povolený původ pro vaši aplikaci funkcí, Access-Control-Allow-Origin záhlaví se automaticky přidá do všech odpovědí z koncových bodů HTTP ve vaší aplikaci funkcí.

Configure function app's CORS list

Zástupný znak (*) se ignoruje, pokud existuje jiná položka domény.

az functionapp cors add Pomocí příkazu přidejte doménu do seznamu povolených zdrojů. Následující příklad přidá contoso.com doménu:

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

az functionapp cors show Pomocí příkazu zobrazíte seznam aktuálních povolených zdrojů.

Ověřování

Configure authentication for a function app

Pokud funkce používají trigger HTTP, můžete vyžadovat, aby se nejprve ověřila volání. App Service podporuje ověřování Microsoft Entra a přihlašování s poskytovateli sociálních sítí, jako jsou Facebook, Microsoft a Twitter. Podrobnosti o konfiguraci konkrétních zprostředkovatelů ověřování najdete v přehledu ověřování služby Aplikace Azure.

Další kroky