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.
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.
V části Nastavení v levém podokně vyberte Konfigurace.
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.
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ředkompilovaný jazyk C#
- Skript jazyka C# (.csx)
- Skript jazyka F# (.fsx)
- Java
- JavaScript
- PowerShell
- Python
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í:
Vyberte stránku Přehled aplikace funkcí a pak vyberte Získat profil publikování.
Uložte a zkopírujte obsah souboru.
- V souboru vyhledejte
publishProfile
prvek s atributempublishMethod="FTP"
. V tomto elementupublishUrl
userName
, auserPWD
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 .
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:
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
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>
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.
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:
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>
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
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>
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
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.
Přihlaste se k webu Azure Portal a vyhledejte a vyberte Function App.
Vyberte funkci, kterou chcete ověřit.
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.
- Vyberte svou aplikaci funkcí a pak v části Funkce vyberte Funkce.
- Zvolte svoji funkci a v části Vývojář vyberte Kód + test.
- 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).
Vyberte svou aplikaci funkcí a pak v části Vývojové nástroje vyberte Pokročilé nástroje>Go.
Pokud se zobrazí výzva, přihlaste se k webu SCM pomocí svých přihlašovacích údajů Azure.
V nabídce konzolyLadění zvolte CMD.
Přejděte na
.\site\wwwroot
tlačítko plus (+) v horní části a vyberte Nový soubor.Pojmenujte soubor, například
extensions.csproj
a stiskněte Enter.Vyberte tlačítko upravit vedle nového souboru, přidejte nebo aktualizujte kód v souboru a vyberte Uložit.
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
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
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)
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í.
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í
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.