Hızlı başlangıç: Linux üzerinde Azure App Service kullanarak bir Python uygulaması oluşturma
Bu hızlı başlangıçta, Azure 'un yüksek düzeyde ölçeklenebilir ve kendini yayama Web barındırma hizmeti olan Linux üzerinde App ServiceIçin bir Python web uygulaması dağıtırsınız. bir Mac, Linux veya Windows bilgisayarda yerel Azure komut satırı arabirimini (clı) kullanarak flask veya docgo çerçeveleri ile bir örnek dağıtabilirsiniz. Yapılandırdığınız Web uygulaması, Azure aboneliğinizde küçük bir ücret sunan temel bir App Service katmanını kullanır.
İlk ortamınızı ayarlama
- Etkin aboneliği olan bir Azure hesabına sahip olmanız gerekir. Ücretsiz hesap oluşturun.
- Python 3,6 veya üstünüyükler.
- Azure kaynaklarını sağlamak ve yapılandırmak için herhangi bir kabukta komut çalıştırdığınız Azure CLI'yi yükleyebilirsiniz.
Bir Terminal penceresi açın ve Python sürümünüzün 3,6 veya üzeri olduğunu denetleyin:
python3 --version
Azure CLı sürümünüzün 2.0.80 veya üzeri olduğunu kontrol edin:
az --version
Daha sonra CLı aracılığıyla Azure 'da oturum açın:
az login
Bu komut, kimlik bilgilerinizi toplamak için bir tarayıcı açar. Komut tamamlandığında, abonelikleriniz hakkında bilgi içeren JSON çıkışını gösterir.
Oturum açtıktan sonra, aboneliğinizdeki kaynaklarla çalışmak için Azure CLı ile Azure komutlarını çalıştırabilirsiniz.
Sorun mu yaşıyorsunuz? Bize bilgi verin.
Örneği
Aşağıdaki komutu kullanarak örnek depoyu kopyalayın ve örnek klasöre gidin. (Zaten git yoksaGit 'ı yükleyebilirsiniz .)
git clone https://github.com/Azure-Samples/python-docs-hello-world
git clone https://github.com/Azure-Samples/python-docs-hello-django
Örnek, uygulamayı başlatırken Azure App Service tanıdığı çerçeveye özgü kod içerir. Daha fazla bilgi için bkz. kapsayıcı başlatma işlemi.
Sorun mu yaşıyorsunuz? Bize bilgi verin.
Örneği çalıştırma
Python-docs-Hello-World klasöründe içine gidin:
cd python-docs-hello-worldSanal ortam oluşturma ve bağımlılıkları yüklemesi:
# 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.txtBir Windows sistemdeyse ve "' kaynak" iç veya dış komut olarak tanınmadığını görürseniz, "git bash kabuğu 'nda çalıştırdığınızdan emin olun ya da yukarıdaki cmd sekmesinde gösterilen komutları kullanın.
"[Errno 2] böyle bir dosya veya dizin bulunamadı: ' requirements.txt '.", Python-docs-Hello-World klasöründe olduğunuzdan emin olun.
Geliştirme sunucusunu çalıştırın.
flask runVarsayılan olarak sunucu, uygulamanın giriş modülünün örnekte kullanılan app.py içinde olduğunu varsayar.
Farklı bir modül adı kullanırsanız,
FLASK_APPortam değişkenini bu ad olarak ayarlayın."Hatayla karşılaşırsanız," bir Flask uygulaması bulunamadı. ' FLASK_APP ' ortam değişkenini sağlamadınız ve geçerli dizinde bir ' wsgi.py ' veya ' app.py ' modülü bulunamadı. ",
python-docs-hello-worldörneği içeren klasörde olduğunuzdan emin olun.Bir Web tarayıcısı açın ve konumundaki örnek uygulamaya gidin
http://localhost:5000/. Uygulama Merhaba, dünya! iletisini görüntüler.
Terminal pencerenizde, + geliştirme sunucusundan çıkmak için CTRL C tuşuna basın.
Python-docs-Hello-docgo klasörüne gidin:
cd python-docs-hello-djangoSanal ortam oluşturma ve bağımlılıkları yüklemesi:
# 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.txtBir Windows sistemdeyse ve "' kaynak" iç veya dış komut olarak tanınmadığını görürseniz, "git bash kabuğu 'nda çalıştırdığınızdan emin olun ya da yukarıdaki cmd sekmesinde gösterilen komutları kullanın.
"[Errno 2] böyle bir dosya veya dizin bulunamadı: ' requirements.txt '.", Python-docs-Hello-docgo klasöründe olduğunuzdan emin olun.
Geliştirme sunucusunu çalıştırın.
python manage.py runserverBir Web tarayıcısı açın ve konumundaki örnek uygulamaya gidin
http://localhost:8000/. Uygulama Merhaba, dünya! iletisini görüntüler.
Terminal pencerenizde, + geliştirme sunucusundan çıkmak için CTRL C tuşuna basın.
Sorun mu yaşıyorsunuz? Bize bilgi verin.
Örneği dağıtma
Şu komutu kullanarak kodu yerel klasörünüzde (Python-docs-Hello-World) dağıtın az webapp up :
az webapp up --sku B1 --name <app-name>
azKomut tanınmazsa, Ilk ortamınızı ayarlamabölümünde AÇıKLANDıĞı gibi Azure CLI 'nin yüklü olduğundan emin olun.webappAzure CLI sürümünüz 2.0.80 veya üzeri olduğundan, komut tanınmazsa. Aksi takdirde, en son sürümü yükler.<app_name>Tüm Azure genelinde benzersiz olan bir adla değiştirin (geçerli karakterlera-z,0-9ve-). İyi bir model, şirketinizin adının ve uygulama tanımlayıcısının bir birleşimini kullanmaktır.--sku B1Bağımsız değişkeni, Web uygulamasını temel fiyatlandırma katmanında oluşturur ve bu da kısa bir saatlik maliyet doğurur. Daha hızlı bir Premium katmanı kullanmak için bu bağımsız değişkeni atlayın.- İsteğe bağlı olarak
--location <location-name><location_name>, kullanılabilir bir Azure bölgesi olan bağımsız değişkeni ekleyebilirsiniz. Komutunu çalıştırarak, Azure hesabınız için izin verilen bölgelerin bir listesini alabilirsinizaz account list-locations. - "Uygulamanızın çalışma zamanı yığınını otomatik olarak algılamamız" hatasını görürseniz, bu komutu requirements.txt dosyasını içeren Python-docs-Hello-World klasöründe (Flask) veya Python-docs-Hello-Docgo klasöründe (docgo) çalıştırdığınızdan emin olun. (Bkz. az WebApp up (GitHub) ile otomatik algılama sorunlarını giderme .)
Komutun tamamlanması birkaç dakika sürebilir. Çalıştırılırken, kaynak grubu oluşturma, App Service planı ve barındırma uygulaması, günlüğü yapılandırma ve ardından ZIP dağıtımı gerçekleştirme hakkında iletiler sağlar. Daha sonra, "uygulamayı < > Azure 'da uygulamanın URL 'si olan http://app-name. azurewebsites.net konumunda başlatabilirsiniz.

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.
Not
az webapp up komutu şu eylemleri gerçekleştirir:
Varsayılan bir kaynak grubu oluşturun.
varsayılan bir plan App Service oluşturun.
Belirtilen adla bir uygulama oluşturun.
Derleme otomasyonu etkinken geçerli çalışma dizininden tüm dosyaları zip ile dağıtın.
Parametreleri .azure/config dosyasında yerel olarak önbelleğe alın, böylece daha sonra veya diğer Azure CLI komutlarıyla dağıtırken bunları yeniden
az webapp upbelirtmenize gerek yok. Önbelleğe alınan değerler varsayılan olarak otomatik olarak kullanılır.
Uygulamaya göz atma
URL 'de Web tarayıcınızda dağıtılan uygulamaya gidin http://<app-name>.azurewebsites.net . Uygulamanın başlaması bir veya iki dakika sürebilir, bu nedenle varsayılan bir uygulama sayfası görürseniz bir dakika bekleyip Tarayıcıyı yenileyin.
Python örnek kodu, yerleşik bir görüntü kullanarak App Service bir Linux kapsayıcısı çalıştırıyor.

Tebrikler! App Service için Python uygulamanızı dağıttınız.
Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.
Güncelleştirmeleri yeniden Dağıt
Bu bölümde, küçük bir kod değişikliği yapar ve ardından kodu Azure 'a yeniden dağıtabilirsiniz. Kod değişikliği, print sonraki bölümde birlikte çalıştığınız günlüğe kaydetme çıkışı oluşturmak için bir ifade içerir.
App.py 'i bir düzenleyicide açın ve hello işlevi aşağıdaki kodla eşleşecek şekilde güncelleştirin.
def hello():
print("Handling request to home page.")
return "Hello, Azure!"
Bir düzenleyicide Merhaba/views. düzenleyene açın ve hello işlevi aşağıdaki kodla eşleşecek şekilde güncelleştirin.
def hello(request):
print("Handling request to home page.")
return HttpResponse("Hello, Azure!")
Değişikliklerinizi kaydettikten sonra az webapp up komutu tekrar kullanarak uygulamayı yeniden dağıtın:
az webapp up
Bu komut, uygulama adı, kaynak grubu ve App Service planı dahil olmak üzere . Azure/config dosyasında yerel olarak önbelleğe alınan değerleri kullanır.
Dağıtım tamamlandıktan sonra tarayıcı penceresine geri dönün http://<app-name>.azurewebsites.net . Değiştirilen iletiyi görüntülemesi gereken sayfayı yenileyin:

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.
İpucu
Visual Studio Code, python web uygulamalarını App Service dağıtma sürecini kolaylaştıran python ve Azure App Service için güçlü uzantılar sağlar. Daha fazla bilgi için bkz. Visual Studio Code App Service Için Python uygulamaları dağıtma.
Akış günlükleri
Uygulamanın içinden oluşturulan konsol günlüklerine ve çalıştığı kapsayıcıya erişebilirsiniz. Günlükler, using deyimleri kullanılarak oluşturulan herhangi bir çıktıyı içerir print .
Günlükleri akışa almak için az WebApp log tail komutunu çalıştırın:
az webapp log tail
--logs az webapp up Günlük akışını otomatik olarak dağıtımda açmak için parametresini then komutuyla da dahil edebilirsiniz.
Uygulamaya HTTP isteklerini açıklayan iletileri içeren konsol günlükleri oluşturmak için uygulamayı tarayıcıda yenileyin. Hemen bir çıkış yoksa 30 saniye içinde yeniden deneyin.
Ayrıca, tarayıcıdan https://<app-name>.scm.azurewebsites.net/api/logs/docker adresine giderek günlük dosyalarını inceleyebilirsiniz.
Günlük akışını istediğiniz zaman durdurmak için terminalde Ctrl + C tuşlarına basın.
Sorun mu var? Önce Sorun giderme kılavuzuna bakın,aksi takdirde bize haber ver.
Azure uygulamasını yönetme
Oluşturduğunuz uygulamayı Azure portal için aşağıdaki sunucuya gidin. Uygulama Hizmetleri için arama ve seçme.

Azure uygulamanın adını seçin.

Uygulama seçerek göz atma, durdurma, başlatma, yeniden başlatma ve silme gibi temel yönetim görevlerini gerçekleştirebilirsiniz.

Uygulama App Service, uygulama yapılandırmanız için farklı sayfalar sağlar.
Sorun mu var? Önce Sorun giderme kılavuzuna bakın,aksi takdirde bize haber ver.
Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Kaynak grubunun konumunuza bağlı olarak "appsvc_rg_Linux_CentralUS" gibi bir adı var. Web uygulamasını çalıştırmaya devam ediyorsanız, devam eden bazı maliyetler alırsınız (bkz. App Service fiyatlandırması).
Gelecekte bu kaynaklara ihtiyaç olmasını bekleye ediyorsanız aşağıdaki komutu çalıştırarak kaynak grubunu silin:
az group delete --no-wait
Komut, .azure/config dosyasında önbelleğe alınan kaynak grubu adını kullanır.
bağımsız --no-wait değişkeni, işlem tamamlandıktan önce komutun dönmesini sağlar.
Sorun mu var? Bize haber ver.