Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku pomocí nástrojů příkazového řádku vytvoříte funkci Pythonu, která reaguje na požadavky HTTP. Po místním otestování kód nasadíte do bezserverového prostředí Azure Functions.
Tento článek používá programovací model Pythonu v2 pro Azure Functions, který poskytuje přístup založený na dekorátoru pro vytváření funkcí. Další informace o programovacím modelu Pythonu v2 najdete v referenční příručce pro vývojáře.
Při dokončení tohoto rychlého startu vzniknou ve vašem účtu Azure náklady ve výši několika málo centů či méně.
K dispozici je také verze tohoto článku založená na editoru Visual Studio Code.
Konfigurace místního prostředí
Než začnete, musíte mít splněné následující požadavky:
Účet Azure s aktivním předplatným. Vytvořte si bezplatný účet.
Jeden z následujících nástrojů pro vytváření prostředků Azure:
Emulátor úložiště Azurite. I když můžete použít skutečný účet služby Azure Storage, článek předpokládá, že používáte tento emulátor.
Instalace nástrojů Azure Functions Core
Doporučený způsob instalace nástrojů Core Tools závisí na operačním systému místního vývojového počítače.
Následující kroky používají instalační službu systému Windows (MSI) k instalaci nástrojů Core Tools verze 4.x. Další informace o dalších instalačních programech založených na balíčcích najdete v souboru readme nástroje Core Tools.
Stáhněte a spusťte instalační program Core Tools na základě vaší verze Windows:
- v4.x – Windows 64bitová verze (doporučeno. Ladění editoru Visual Studio Code vyžaduje 64bitovou verzi.)
- v4.x – Windows 32bitová verze
Pokud jste dříve použili instalační službu systému Windows (MSI) k instalaci nástrojů Core Tools ve Windows, měli byste před instalací nejnovější verze odinstalovat starou verzi z nástroje Přidat odebrat programy.
Použijte příkaz func --version
, abyste se ujistili, že vaše verze nástrojů Core Tools je alespoň 4.0.5530
.
Vytvoření a aktivace virtuálního prostředí
V vhodné složce spusťte následující příkazy pro vytvoření a aktivaci virtuálního prostředí s názvem .venv
. Ujistěte se, že používáte verzi Pythonu podporovanou službou Azure Functions.
python -m venv .venv
source .venv/bin/activate
Pokud Python nenainstaloval balíček venv do distribuce Linuxu, spusťte následující příkaz:
sudo apt-get install python3-venv
V tomto aktivovaném virtuálním prostředí spustíte všechny následující příkazy.
Vytvoření místní funkce
Ve službě Azure Functions je projekt funkcí kontejnerem pro jednu nebo více jednotlivých funkcí, které každá reaguje na konkrétní trigger. Všechny funkce v projektu sdílejí stejné místní a hostitelské konfigurace.
V této části vytvoříte projekt funkce a přidáte funkci aktivovanou protokolem HTTP.
Spuštěním
func init
následujícího příkazu vytvořte projekt funkcí Pythonu v2 ve virtuálním prostředí.func init --python
Prostředí teď obsahuje různé soubory projektu, včetně konfiguračních souborů s názvem local.settings.json a host.json. Protože local.settings.json může obsahovat tajné kódy stažené z Azure, soubor je ve výchozím nastavení vyloučen ze správy zdrojového kódu v souboru .gitignore .
Přidejte do projektu funkci pomocí následujícího příkazu, kde
--name
argument je jedinečný název funkce (HttpExample) a--template
argument určuje trigger funkce (HTTP).func new --name HttpExample --template "HTTP trigger" --authlevel "anonymous"
Pokud se zobrazí výzva, zvolte možnost ANONYMNÍ .
func new
přidá koncový bod triggeru HTTP pojmenovanýHttpExample
dofunction_app.py
souboru, který je přístupný bez ověřování.
Místní spuštění funkce
Spusťte funkci spuštěním místního hostitele modulu runtime Azure Functions ze složky LocalFunctionProj .
func start
Na konci výstupu se musí zobrazit následující řádky:
Poznámka:
Pokud se httpExample nezobrazí, jak je znázorněno výše, pravděpodobně jste hostitele spustili mimo kořenovou složku projektu. V takovém případě pomocí ctrl+C zastavte hostitele, přejděte do kořenové složky projektu a spusťte předchozí příkaz znovu.
Zkopírujte adresu URL funkce HTTP z tohoto výstupu do prohlížeče a připojte řetězec
?name=<YOUR_NAME>
dotazu, čímž se úplná adresa URL podobáhttp://localhost:7071/api/HttpExample?name=Functions
. Prohlížeč by měl zobrazit zprávu s odpovědí, která zopakuje hodnotu vašeho dotazovacího řetězce. V terminálu, ve kterém jste spustili projekt, se při provádění požadavků zobrazuje také výstup protokolu.Až budete hotovi, stiskněte Ctrl+C a stisknutím kláves
y
zastavte hostitele funkcí.
Vytvoření podpůrných prostředků Azure pro vaši funkci
Než budete moct nasadit kód funkce do Azure, musíte vytvořit tři prostředky:
- Skupina prostředků, což je logický kontejner pro související prostředky.
- Účet úložiště, který udržuje stav a další informace o vašich projektech.
- Aplikace funkcí, která poskytuje prostředí pro spouštění kódu funkce. Funkční aplikace se přiřazuje k vašemu místnímu projektu funkcí a umožňuje seskupování funkcí jako logické jednotky pro jednodušší správu, nasazení a sdílení prostředků.
K vytvoření těchto položek použijte následující příkazy. Podporuje se Azure CLI i PowerShell.
V případě potřeby se přihlaste k Azure.
az login
Příkaz
az login
vás přihlásí ke svému účtu Azure.Vytvořte skupinu prostředků s názvem
AzureFunctionsQuickstart-rg
ve zvolené oblasti.az group create --name AzureFunctionsQuickstart-rg --location <REGION>
Příkaz az group create vytvoří skupinu prostředků. Ve výše uvedeném příkazu nahraďte
<REGION>
kódem oblasti, který je k dispozici pro region blízko vás a je vrácen příkazem `az account list-locations`.Poznámka:
Aplikace pro Linux a Windows nemůžete hostovat ve stejné skupině prostředků. Pokud máte existující skupinu prostředků s názvem
AzureFunctionsQuickstart-rg
aplikace funkcí pro Windows nebo webovou aplikaci, musíte použít jinou skupinu prostředků.Vytvořte účet úložiště pro obecné účely ve své skupině prostředků a oblasti.
az storage account create --name <STORAGE_NAME> --location <REGION> --resource-group AzureFunctionsQuickstart-rg --sku Standard_LRS
Příkaz az storage account create vytvoří účet úložiště.
V předchozím příkladu nahraďte
<STORAGE_NAME>
názvem, který je vhodný pro vás a jedinečný v Azure Storage. Názvy musí obsahovat jenom číslice 3 až 24 znaků a malá písmena.Standard_LRS
určuje účet pro obecné účely podporovaný službou Functions.Pro účely tohoto rychlého startu se účtu úložiště účtují jen pár centů (USD).
Vytvořte aplikaci funkcí v Azure.
az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location westeurope --runtime python --runtime-version <PYTHON_VERSION> --functions-version 4 --name <APP_NAME> --os-type linux --storage-account <STORAGE_NAME>
Příkaz az functionapp create vytvoří aplikaci funkcí v Azure. Musíte zadat
--os-type linux
, protože funkce Pythonu běží jenom v Linuxu.V předchozím příkladu nahraďte
<APP_NAME>
globálně jedinečným názvem, který je pro vás vhodný. Jedná se<APP_NAME>
také o výchozí subdoménu aplikace funkcí. Ujistěte se, že hodnota, pro<PYTHON_VERSION>
kterou jste nastavili, je verze podporovaná funkcí a že je stejná verze, jakou jste použili při místním vývoji.Tento příkaz vytvoří funkční aplikaci spuštěnou v zadaném běhovém prostředí jazyka v rámci Plánu spotřeby služby Azure Functions, který je zdarma pro množství zde vyčerpaného využití. Příkaz také vytvoří přidruženou instanci Azure Application Insights ve stejné skupině prostředků, kterou můžete použít k monitorování vaší aplikační funkce a zobrazení protokolů. Další informace naleznete v tématu Monitor Azure Functions. Žádné náklady nejsou účtovány, dokud instanci neaktivujete.
Nasazení projektu funkce do Azure
Po úspěšném vytvoření aplikace funkcí v Azure jste nyní připraveni nasadit svůj projekt místních funkcí pomocí příkazu func azure functionapp publish
.
Ve složce kořenového projektu spusťte tento func azure functionapp publish
příkaz:
func azure functionapp publish <APP_NAME>
V tomto příkladu nahraďte <APP_NAME>
názvem vaší aplikace. Úspěšné nasazení ukazuje výsledky podobné následujícímu výstupu (zkráceně kvůli jednoduchosti):
... Getting site publishing info... Creating archive for current directory... Performing remote build for functions project. ... Deployment successful. Remote build succeeded! Syncing triggers... Functions in msdocs-azurefunctions-qs: HttpExample - [httpTrigger] Invoke url: https://msdocs-azurefunctions-qs.azurewebsites.net/api/httpexample
Vyvolání funkce v Azure
Vzhledem k tomu, že vaše funkce používá trigger HTTP, vyvoláte ji tak, že v prohlížeči nebo pomocí nástroje, jako je curl, vytvoří požadavek HTTP na jeho adresu URL.
Zkopírujte úplnou adresu URL vyvolání zobrazené ve výstupu publish
příkazu do adresního řádku prohlížeče a připojte parametr ?name=Functions
dotazu . Prohlížeč by měl zobrazit podobný výstup jako při místním spuštění funkce.
Vyčistěte zdroje
Pokud budete pokračovat k dalšímu kroku a přidáte výstupní vazbu fronty Azure Storage, ponechte všechny prostředky na místě, protože budete vycházet z toho, co jste už udělali.
Jinak pomocí následujícího příkazu odstraňte skupinu prostředků a všechny její obsažené prostředky, abyste se vyhnuli dalším nákladům.
az group delete --name AzureFunctionsQuickstart-rg
Další kroky
Máte problémy s tímto článkem?