Rychlý start: Vytvoření aplikace v Pythonu pomocí Azure App Service v Linuxu

V tomto rychlém startu nasadíte webovou aplikaci v Pythonu App Service v Linuxu, vysoce škálovatelnou službu Hostování webu s vlastními opravami v Azure. K nasazení ukázky s rozhraními Flask nebo Django použijete místní rozhraní příkazového řádku Azure (CLI) na počítači se systémem Mac, Linux nebo Windows. Webová aplikace, kterou nakonfigurujete, používá základní úroveň App Service, za kterou se ve vašem předplatném Azure účtuly malé náklady.

Nastavení počátečního prostředí

  1. Mít účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
  2. Nainstalujte Python 3.6 nebo novější.
  3. Nainstalujte Azure CLI,pomocí kterého v libovolném prostředí spustíte příkazy pro zřizování a konfiguraci prostředků Azure.

Otevřete okno terminálu a zkontrolujte, že máte Python verze 3.6 nebo vyšší:

python3 --version

Zkontrolujte, že vaše verze Azure CLI je 2.0.80 nebo vyšší:

az --version

Pak se přihlaste k Azure prostřednictvím rozhraní příkazového řádku:

az login

Tento příkaz otevře prohlížeč a shromáždí vaše přihlašovací údaje. Po dokončení příkazu se zobrazí výstup JSON obsahující informace o vašich předplatných.

Po přihlášení můžete spouštět příkazy Azure pomocí Azure CLI a pracovat s prostředky ve vašem předplatném.

Máte problémy? Dejte nám vědět.

Vytvoření klonu ukázky

Pomocí následujícího příkazu naklonujte ukázkové úložiště a přejděte do složky sample. (Pokudještě git nemáte, nainstalujte git.)

git clone https://github.com/Azure-Samples/python-docs-hello-world
git clone https://github.com/Azure-Samples/python-docs-hello-django

Ukázka obsahuje kód specifický pro rozhraní, který Azure App Service rozpozná při spuštění aplikace. Další informace najdete v tématu Proces spuštění kontejneru.

Máte problémy? Dejte nám vědět.

Spuštění ukázky

  1. Přejděte do složky python-docs-hello-world:

    cd python-docs-hello-world
    
  2. Vytvoření virtuálního prostředí a instalace závislostí:

    # Linux systems only
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
    # Git Bash on Windows only
    py -3 -m venv .venv
    source .venv\\scripts\\activate
    pip install -r requirements.txt
    

    Pokud se nacházíte v systému Windows a zobrazí se chyba "zdroj" není rozpoznán jako interní nebo externí příkaz ", ujistěte se, že buď běží v prostředí Git bash, nebo použijte příkazy zobrazené na kartě cmd výše.

    Pokud narazíte na "[Errno 2] No such file or directory: 'requirements.txt'.", ujistěte se, že jste ve složce python-docs-hello-world.

  3. Spusťte vývojový server.

    flask run
    

    Ve výchozím nastavení server předpokládá, že vstupní modul aplikace je app.py , jak se používá v ukázce.

    Pokud používáte jiný název modulu, nastavte FLASK_APP proměnnou prostředí na tento název.

    Pokud dojde k chybě "Aplikaci Flask se nepokusí najít. Nezadáte proměnnou prostředí FLASK_APP a modul wsgi.py nebo app.py nebyl v aktuálním adresáři nalezen. Ujistěte se, že jste ve složce, která obsahuje python-docs-hello-world ukázku.

  4. Otevřete webový prohlížeč a přejděte do ukázkové aplikace na adrese http://localhost:5000/ . Aplikace zobrazí zprávu Hello, World!.

    Místní spuštění ukázkové aplikace v Pythonu

  5. V okně terminálu ukončete vývojový server stisknutím kláves Ctrl + C.

  1. Přejděte do složky python-docs-hello-django:

    cd python-docs-hello-django
    
  2. Vytvoření virtuálního prostředí a instalace závislostí:

    # Linux systems only
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
    # Git Bash on Windows only
    py -3 -m venv .venv
    source .venv\\scripts\\activate
    pip install -r requirements.txt
    

    Pokud se nacházíte v systému Windows a zobrazí se chyba "zdroj" není rozpoznán jako interní nebo externí příkaz ", ujistěte se, že buď běží v prostředí Git bash, nebo použijte příkazy zobrazené na kartě cmd výše.

    Pokud narazíte na "[Errno 2] No such file or directory: 'requirements.txt'.", ujistěte se, že jste ve složce python-docs-hello-django.

  3. Spusťte vývojový server.

    python manage.py runserver
    
  4. Otevřete webový prohlížeč a přejděte do ukázkové aplikace na adrese http://localhost:8000/ . Aplikace zobrazí zprávu Hello, World!.

    Místní spuštění ukázkové aplikace v Pythonu

  5. V okně terminálu ukončete vývojový server stisknutím kláves Ctrl + C.

Máte problémy? Dejte nám vědět.

Nasazení ukázky

Nasaďte kód do místní složky (python-docs-hello-world) pomocí az webapp up příkazu :

az webapp up --sku B1 --name <app-name>
  • Pokud se příkaz nerozpozná, ujistěte se, že máte nainstalované Rozhraní příkazového řádku Azure, jak je popsáno v az článku Nastavení počátečního prostředí.
  • Pokud se webapp příkaz nerozpozná, protože vaše verze Azure CLI je 2.0.80 nebo vyšší. Pokud ne, nainstalujte nejnovější verzi.
  • Nahraďte <app_name> názvem, který je jedinečný v rámci všech azure (platné znaky jsou a-z 0-9 , - a ). Dobrým vzorem je použití kombinace názvu vaší společnosti a identifikátoru aplikace.
  • Argument vytvoří webovou aplikaci na cenové úrovni Basic, což má malé --sku B1 hodinové náklady. Pokud chcete použít rychlejší úroveň Premium, tento argument vyhodte.
  • Volitelně můžete zahrnout argument , --location <location-name> kde <location_name> je dostupná oblast Azure. Seznam dostupných oblastí pro váš účet Azure můžete načíst spuštěním az account list-locations příkazu .
  • Pokud se zobrazí chyba "Zásobník modulu runtime vaší aplikace se nepokusí automaticky rozpoznat", ujistěte se, že používáte příkaz ve složce python-docs-hello-world (Flask) nebo ve složce python-docs-hello-django (Django), která obsahujerequirements.txt. (Viz Řešení potíží s automatickým zjišťováním pomocí příkazu az webapp up (GitHub).)

Dokončení příkazu může trvat několik minut. Během běhu poskytuje zprávy o vytvoření skupiny prostředků, plánu nasazení App Service hostující aplikaci, konfiguraci protokolování a nasazení souboru ZIP. Zobrazí se zpráva "Aplikaci můžete spustit na adrese http:// < název aplikace .azurewebsites.net", což je adresa URL aplikace > v Azure.

Příklad výstupu příkazu az webapp up

Máte problémy? V opačném případě nám dejte vědětv průvodci odstraňováním potíží.

Poznámka

Příkaz az webapp up provádí tyto akce:

Přechod do aplikace

Přejděte na nasazenou aplikaci ve webovém prohlížeči na adrese URL http://<app-name>.azurewebsites.net . Spuštění aplikace může pár minut trvat, takže pokud se zobrazí výchozí stránka aplikace, počkejte minutu a aktualizujte prohlížeč.

Vzorový kód Pythonu používá kontejner Linuxu v App Service s využitím integrované image.

Spuštění ukázkové aplikace v Pythonu v Azure

Blahopřejeme! Nasadili jste svou aplikaci v Pythonu do App Service.

Máte problémy? V opačném případě nám dejte vědětv průvodci odstraňováním potíží.

Opětovné nasazení aktualizací

V této části změníte kód a pak ho znovu nasadíte do Azure. Změna kódu zahrnuje příkaz print pro vygenerování výstupu protokolování, se který budete pracovat v další části.

Otevřete app.py editoru a aktualizujte funkci tak, aby hello odpovídala následujícímu kódu.

def hello():
    print("Handling request to home page.")
    return "Hello, Azure!"

V editoru otevřete soubor hello/views.py a aktualizujte funkci tak, aby hello odpovídala následujícímu kódu.

def hello(request):
    print("Handling request to home page.")
    return HttpResponse("Hello, Azure!")

Uložte změny a pak znovu nasaďte aplikaci az webapp up pomocí příkazu :

az webapp up

Tento příkaz používá hodnoty uložené v místní mezipaměti v souboru .azure/config, včetně názvu aplikace, skupiny prostředků a App Service plánu.

Po dokončení nasazení se vraťte do okna prohlížeče a otevřete ho na http://<app-name>.azurewebsites.net . Aktualizujte stránku, na které by se měla zobrazit upravená zpráva:

Spuštění aktualizované ukázkové aplikace v Pythonu v Azure

Máte problémy? V opačném případě nám dejte vědětv průvodci odstraňováním potíží.

Tip

Visual Studio Code poskytuje výkonná rozšíření pro Python a Azure App Service, která zjednodušují proces nasazování webových aplikací v Pythonu do App Service. Další informace najdete v tématu Nasazení aplikací v Pythonu do App Service z Visual Studio Code.

Protokoly datových proudů

Můžete přistupovat k protokolům konzoly generovaným z aplikace a ke kontejneru, ve kterém běží. Protokoly zahrnují jakýkoli výstup vygenerovaný pomocí print příkazů .

Pokud chcete streamovat protokoly, spusťte příkaz az webapp log tail:

az webapp log tail

Parametr můžete také zahrnout --logs pomocí příkazu az webapp up then, který automaticky otevře stream protokolu při nasazení.

Aktualizujte aplikaci v prohlížeči tak, aby generovala protokoly konzoly, které obsahují zprávy popisující požadavky HTTP na aplikaci. Pokud se okamžitě nezobrazí žádný výstup, zkuste to znovu za 30 sekund.

Soubory protokolu můžete také zkontrolovat v prohlížeči na https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Streamování protokolů můžete kdykoli zastavit stisknutím kláves Ctrl + C v terminálu.

Máte problémy? V opačném případě nám dejte vědětv průvodci odstraňováním potíží.

Správa aplikace Azure

Přejděte do Azure Portal a spravujte aplikaci, kterou jste vytvořili. Vyhledejte a vyberte App Services.

V App Services přejděte na Azure Portal

Vyberte název vaší aplikace Azure.

Přejděte do své aplikace v Pythonu App Services na Azure Portal

Při výběru aplikace se otevře její stránka Přehled, kde můžete provádět základní úlohy správy, jako je procházení, zastavení, spuštění, restartování a odstranění.

Spravujte svou aplikaci v Pythonu na stránce Přehled v Azure Portal

Nabídka App Service nabízí různé stránky pro konfiguraci aplikace.

Máte problémy? V opačném případě nám dejte vědětv průvodci odstraňováním potíží.

Vyčištění prostředků

V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. Skupina prostředků má v závislosti na vaší appsvc_rg_Linux_CentralUS název, například "appsvc_rg_Linux_CentralUS". Pokud webovou aplikaci držíte spuštěnou, budou vám účtovány určité průběžné náklady (viz App Service ceny).

Pokud předpokládáte, že už tyto prostředky nepotřebujete, odstraňte skupinu prostředků spuštěním následujícího příkazu:

az group delete --no-wait

Příkaz používá název skupiny prostředků uložené v mezipaměti v souboru .azure/config.

Argument --no-wait umožňuje, aby se příkaz vrátil před dokončením operace.

Máte problémy? Dejte nám vědět.

Další kroky