Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Python web uygulamaları geliştirmek ve bunları Azure dağıtmak için yerel ortamınızı nasıl ayarlayacağınız gösterilmektedir. Web uygulamanız saf Python olabilir veya Django, Flask veya FastAPI gibi yaygın Python tabanlı web çerçevelerinden birini kullanabilir.
Yerel olarak geliştirilen Python web uygulamalarını Azure App Service, Azure Container Apps veya Azure Static Web Apps gibi hizmetlere dağıtabilirsiniz. Dağıtım için birçok seçenek vardır. Örneğin, App Service dağıtımı için koddan, Docker kapsayıcısından veya Statik Web Uygulamasından dağıtmayı seçebilirsiniz. Koddan dağıtım yaparsanız Visual Studio Code, Azure CLI, yerel git deposu veya GitHub eylemleri kullanarak dağıtabilirsiniz. Docker Kapsayıcısı'nda dağıtım yapıyorsanız, bunu Azure Container Registry, Docker Hub veya herhangi bir özel kayıt defterinden yapabilirsiniz.
Bu makaleye devam etmeden önce Geliştirme ortamınızı ayarlama Python ve Azure için geliştirme ortamınızı ayarlama yönergelerini gözden geçirin. Aşağıdaki bölümlerde, Python web uygulaması geliştirmeye özgü kurulum ve yapılandırma açıklanmıştır.
Python web uygulaması geliştirme için yerel ortamınızı ayarladıktan sonra şu makaleleri işlemeye hazırsınız:
- Quickstart: Azure App Service içinde bir Python (Django veya Flask) web uygulaması oluşturun.
Tutorial: Azure - Sistem tarafından atanan yönetilen kimlikle Azure flask web uygulaması oluşturma ve dağıtma
Visual Studio Code ile çalışma
Visual Studio Code tümleşik geliştirme ortamı (IDE), Python web uygulamaları geliştirmenin ve web uygulamalarının kullandığı Azure kaynaklarla çalışmanın kolay bir yoludur.
Bahşiş
Python uzantısını yüklediğinizden emin olun. VS Code'da Python ile çalışmaya genel bakış için bkz: VS Code'da Python ile Çalışmaya Başlama.
VS Code'da VS Code uzantıları aracılığıyla Azure kaynaklarla çalışırsınız. Uzantıları Uzantılar görünümünden veya Ctrl+Shift+X tuş bileşimini kullanarak yükleyebilirsiniz. Python web uygulamaları için aşağıdaki uzantılardan biriyle veya daha fazlasıyla çalışma olasılığınız vardır:
Azure App Service uzantısı, Visual Studio Code içinden Azure App Service etkileşim kurmanızı sağlar. App Service, web siteleri ve web API'leri dahil olmak üzere web uygulamaları için tam olarak yönetilen barındırma sağlar.
Azure Static Web Apps uzantısı doğrudan VS Code'dan Azure Static Web Apps oluşturmanıza olanak tanır. Static Web Apps sunucusuzdur ve statik içerik barındırma için iyi bir seçimdir.
Kapsayıcılarla çalışmayı planlıyorsanız şunları yükleyin:
Kapsayıcıları yerel olarak oluşturup onlarla çalışmak için Docker uzantısı. Örneğin, kapsayıcılar için Web Apps kullanarak kapsayıcılı Python web uygulamasını Azure App Service çalıştırabilirsiniz.
Azure Container Apps uzantısı, kaplanmış uygulamalar oluşturmak ve doğrudan Visual Studio Code'dan dağıtmak için.
Diğer uzantılar arasında Azure Storage, Azure Veritabanları ve Azure Resources uzantıları bulunur. Bunları ve diğer uzantıları istediğiniz zaman ekleyebilirsiniz.
Visual Studio Code'daki uzantılara tipik bir IDE arabiriminde beklediğiniz gibi erişilebilir. VS Code komut paletini kullanarak zengin anahtar sözcük desteğini kullanabilirsiniz. Komut paletine erişmek için Ctrl+Shift+P tuş bileşimini kullanın. Komut paleti, bir Azure kaynağında gerçekleştirebileceğiniz tüm olası eylemleri görmenin iyi bir yoludur. Aşağıdaki ekran görüntüsünde App Service'e yönelik bazı eylemler gösterilmektedir.
Visual Studio Code'de Geliştirme Kapsayıcılarıyla Çalışma
Python geliştiriciler genellikle sanal ortamları kullanarak belirli bir proje için yalıtılmış ve bağımsız bir ortam oluşturur. Sanal ortamlar, geliştiricilerin bağımlılıkları, paketleri ve Python sürümleri her proje için ayrı ayrı yönetmesine olanak tanır ve farklı paket sürümleri gerektirebilecek farklı projeler arasındaki çakışmaları önler.
Python'da virtualenv veya venv gibi ortamları yönetmek için popüler seçenekler olsa da, Visual Studio Code Dev Container uzantısı (Open Geliştirme Kapsayıcısı belirtimine) tam özellikli kapsayıcılı ortam olarak Docker kapsayıcısı kullanmanıza olanak tanır. Geliştiricilerin önceden yapılandırılmış tüm gerekli araçlar, bağımlılıklar ve uzantılarla tutarlı ve kolayca yeniden üretilebilir bir araç zinciri tanımlamasını sağlar. Başka bir deyişle, sistem gereksinimleriniz, kabuk yapılandırmalarınız varsa veya diğer dilleri tamamen kullanıyorsanız, projenizin temel bir Python ortamı dışında yaşayabilecek tüm bölümlerini açıkça yapılandırmak için bir Geliştirme Kapsayıcısı kullanabilirsiniz.
Örneğin bir geliştirici, proje veritabanı ve örnek verilerle birlikte PostgreSQL veritabanı sunucusu, Redis sunucusu, Nginx, ön uç kodu, React gibi istemci kitaplıkları gibi proje üzerinde çalışmak için gereken her şeyi içerecek şekilde tek bir Geliştirme Kapsayıcısı yapılandırabilir. Ayrıca kapsayıcı proje kodunu, Python çalışma zamanını ve doğru sürümlerle tüm Python proje bağımlılıklarını içerir. Son olarak kapsayıcı, tüm ekibin aynı araçlara sahip olması için yüklenecek Visual Studio Code uzantılarını belirtebilir. Bu nedenle ekibe yeni bir geliştirici katıldığında, araçlar, bağımlılıklar ve veriler dahil olmak üzere tüm ortam yerel makinelerine kopyalanmaya hazır olur ve hemen çalışmaya başlayabilir.
Bkz. Kapsayıcı içinde geliştirme.
Visual Studio 2022 ile çalışma
Visual Studio 2022 Python uygulama geliştirme desteği ve Azure kaynaklara erişmek ve bu kaynaklara dağıtmak için birçok yerleşik araç ve uzantıya sahip tam özellikli bir tümleşik geliştirme ortamıdır (IDE). Azure'da Python web uygulamaları oluşturmaya yönelik belgelerin çoğu Visual Studio Code kullanmaya odaklansa da, Visual Studio 2022 zaten yüklediyseniz, bunu kullanmakta rahatsınız ve .NET veya C++ projeleri için kullanıyorsanız harika bir seçenektir.
Genel olarak bkz. Visual Studio | Visual Studio 2022'de Python kullanmayla ilgili tüm belgeler için Python belgeler.
Kurulum adımları için, Visual Studio 2022'ye Python desteği yükleme adımlarını anlatan Visual Studio'da Python desteği yükleme konusuna bakın.
Web geliştirme için Python kullanmanın genel iş akışı için bkz. Quickstart: Visual Studio kullanarak ilk Python web uygulamanızı oluşturma. Bu makale, sıfırdan bir Python web uygulaması oluşturmayı anlamak için yararlıdır (ancak Azure dağıtımı içermez).
Azure kaynaklarını yönetmek ve Azure'a dağıtım yapmak için Visual Studio 2022'yi kullanma hakkında daha fazla bilgi için Visual Studio ile Azure Geliştirme konusuna bakın. Buradaki belgelerin çoğu .NET özellikle belirtse de, Azure kaynaklarını yönetme ve Azure dağıtma araçları programlama dilinden bağımsız olarak aynı şekilde çalışır.
Belirli bir Azure yönetimi veya dağıtım görevi için Visual Studio 2022'de yerleşik bir araç olmadığında, her zaman Azure CLI komutlarını kullanabilirsiniz.
Diğer IDE'lerle çalışma
Azure için açık desteği olmayan başka bir IDE'de çalışıyorsanız, Azure kaynaklarını yönetmek için Azure CLI kullanın. Aşağıdaki ekran görüntüsünde , PyCharm IDE'de basit bir Flask web uygulaması açık.
az webapp up komutunu kullanarak web uygulamasını bir Azure App Service dağıtabilirsiniz. Ekran görüntüsünde, CLI komutu PyCharm eklenmiş terminal öykünücüsü içinde çalışır. IDE'nizde ekli öykünücü yoksa, herhangi bir terminali ve aynı komutu kullanabilirsiniz. Azure CLI bilgisayarınızda yüklü olmalı ve her iki durumda da erişilebilir olmalıdır.
Azure CLI komutları
Azure CLI komutlarını kullanarak web uygulamalarıyla yerel olarak çalışırken genellikle aşağıdaki komutları kullanırsınız:
| Komut | Açıklama |
|---|---|
| az webapp |
Web uygulamalarını yönetir. Sırasıyla bir web uygulaması oluşturmak veya yerel bir çalışma alanından oluşturup dağıtmak için oluştur ve oluştur alt komutlarını içerir. |
| az container app |
Azure Container Apps yönetir. |
| az staticwebapp | Azure Static Web Apps yönetir. |
| az group | Kaynak gruplarını ve şablon dağıtımlarını yönetir. Azure kaynaklarınızı yerleştirecek bir kaynak grubu oluşturmak için create alt komutunu kullanın. |
| az appservice |
App Service planlarını yönetir. |
| az config | Azure CLI yapılandırmasını yönetir. Tuş vuruşlarını kaydetmek için, diğer komutların otomatik olarak kullandığı bir varsayılan konum veya kaynak grubu tanımlayabilirsiniz. |
Aşağıda bir web uygulaması ve ilişkili kaynaklar oluşturmak ve az webapp up kullanarak bunu tek komutta Azure dağıtmak için örnek bir Azure CLI komutu verilmiştir. Komutunu web uygulamanızın kök dizininde çalıştırın.
az webapp up \
--runtime PYTHON:3.9 \
--sku B1 \
--logs
Bu örnek hakkında daha fazla bilgi için bkz. Quickstart: Azure App Service'a Python (Django veya Flask) web uygulaması dağıtma.
Azure iş akışınızın bazı kısımlarında, Azure Cloud Shell'den Azure CLI kullanabileceğinizi unutmayın. Azure Cloud Shell, Azure kaynaklarını yönetmek için etkileşimli, kimliği doğrulanmış, tarayıcı tarafından erişilebilir bir kabuk.
Azure SDK anahtar paketleri
Python web uygulamalarınızda, Python için
Aşağıdaki tabloda web uygulaması geliştirmede yaygın olarak kullanılan paketlerden bazıları listelenmektedir. Paketleri sanal ortamınıza doğrudan pip kullanarak yükleyebilirsiniz. Veya requirements.txt dosyanıza Python paket dizini (PyPI) adını yazın.
| SDK belgeleri | Yüklemek | Python Paket Dizini |
|---|---|---|
| Azure Identity | pip install azure-identity |
azure-identity |
| Azure Storage Blobları | pip install azure-storage-blob |
azure-storage-blob |
| Azure Cosmos DB | pip install azure-cosmos |
azure-cosmos |
| Azure Key Vault Gizli Diziler | pip install azure-keyvault-secrets |
azure-keyvault-secrets |
azure-identity paketi, web uygulamanızın Microsoft Entra ID kimlik doğrulaması yapmasına olanak tanır. Web uygulaması kodunuzda kimlik doğrulaması için paketteki DefaultAzureCredential değerini azure-identity kullanın. Aşağıdaki örnek, Azure Storage'a nasıl erişileceğini göstermektedir. Desen diğer Azure kaynakları için benzerdir.
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient
azure_credential = DefaultAzureCredential()
blob_service_client = BlobServiceClient(
account_url=account_url,
credential=azure_credential)
DefaultAzureCredential, ortam değişkenleri veya Azure CLI oturum açma gibi hesap bilgileri için önceden tanımlanmış konumlarda arar.
DefaultAzureCredential mantığı hakkında ayrıntılı bilgi için bkz. Python için Azure SDK kullanarak Python uygulamalarını Azure hizmetlere doğrulama.
Python tabanlı web çerçeveleri
Python web uygulaması geliştirme aşamasında genellikle Python tabanlı web çerçeveleriyle çalışırsınız. Bu çerçeveler sayfa şablonları, oturum yönetimi, veritabanı erişimi ve HTTP isteği ile yanıt nesnelerine kolay erişim gibi işlevler sağlar. Çerçeveler, ortak işlevler için tekerleği yeniden icat etmekten kaçınmanızı sağlar.
Üç yaygın Python web çerçevesi Django, Flask ve FastAPI'dır. Bunları ve diğer web çerçevelerini Azure kullanabilirsiniz.
Aşağıdaki örnek, bu çerçeveleri yerel olarak nasıl hızlı bir şekilde kullanmaya başlabileceğinizi gösterir. Bu komutları çalıştırdığınızda, Azure'a dağıtabileceğiniz basit bir uygulama elde edersiniz. Bu komutları bir sanal ortamda çalıştırın.
1. Adım:Pip kullanarak çerçeveleri indirin.
2. Adım: Merhaba dünya uygulaması oluşturun.
django-admin startproject komutunu kullanarak örnek bir proje oluşturun. Proje, uygulamayı çalıştırmak için giriş noktası olarak hizmet veren bir manage.py dosyası içerir.
django-admin startproject hello_world
Adım 3: Kodu yerel olarak çalıştırın.
Django, uygulamayı çalıştırmak için WSGI kullanır.
python hello_world\manage.py runserver
4. Adım: Merhaba dünya uygulamasına göz atın.
Bu noktada bir requirements.txt dosyası ekleyin. Sonra, web uygulamasını Azure'a dağıtın veya Docker kullanarak kapsayıcıya alın ve dağıtın.
Sonraki adımlar
- Quickstart: Azure App Service içinde bir Python (Django veya Flask) web uygulaması oluşturun.
Tutorial: Azure - Sistem tarafından atanan yönetilen kimlikle Azure flask web uygulaması oluşturma ve dağıtma