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'a dağıtmak için yerel ortamınızı ayarlama işleminde size yol gösterilir. Web uygulamanız saf Python olabilir veya Django, Flaskveya FastAPIgibi yaygın Python tabanlı web çerçevelerinden birini kullanabilir.
Yerel olarak geliştirilen Python web uygulamaları Azure App Service, Azure Container Appsveya Azure Static Web Appsgibi hizmetlere dağıtılabilir. 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 yapıyorsanız Visual Studio Code ile, Azure CLI ile, yerel git deposundan veya GitHub eylemleriyle dağıtım yapabilirsiniz. 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, Python ve Azure için geliştirme ortamınızı ayarlama konusunda rehberlik almak amacıyla "Geliştirme Ortamınızı Ayarlama" başlığını gözden geçirmenizi öneririz. Aşağıda Python web uygulaması geliştirmeye özgü kurulum ve yapılandırma konularını ele alacağız.
Python web uygulaması geliştirme için yerel ortam kurulumunuzu aldıktan sonra şu makaleleri işlemeye hazır olursunuz:
- Hızlı Başlangıç: Azure App Service'te Python (Django veya Flask) web uygulaması oluşturma.
- Öğreticisi: Azure'de PostgreSQL ile Python (Django veya Flask) web uygulaması dağıtma
- Sistem tarafından atanan yönetilen kimlikle Flask web uygulaması oluşturma ve Azure'a 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 kaynaklarıyla çalışmanın kolay bir yoludur.
Bahşiş
Python uzantısının yüklü olduğundan emin olun. VS Code'da Python ile çalışmaya genel bakış için bkz. VS Code'da Python'ı kullanmaya başlama.
VS Code'da,
Azure App Service uzantısı, Visual Studio Code'un içinden Azure App Service ile 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. Statik Web Uygulamaları 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:
Yerelde kapsayıcılar oluşturmak ve bunlarla çalışmak için Docker uzantısı. Örneğin, kapsayıcılar için Web Apps kullanarak Azure App Service'te kapsayıcılı bir Python web uygulaması çalıştırabilirsiniz.
Kapsayıcılı uygulamaları doğrudan Visual Studio Code'dan oluşturmak ve dağıtmak için Azure Container Apps uzantısını
.
Azure Depolama, Azure Veritabanlarıve Azure Kaynakları uzantıları gibi başka uzantılar da vardır. 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 ve VS Code komut paletikullanılarak zengin anahtar sözcük desteği sağlanır. 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'da Geliştirme Kapsayıcılarıyla Çalışma
Python geliştiricileri genellikle belirli bir proje için yalıtılmış ve bağımsız bir ortam oluşturmak için sanal ortamlara güvenir. Sanal ortamlar, geliştiricilerin her proje için bağımlılıkları, paketleri ve Python sürümlerini ayrı ayrı yönetmesine olanak tanır ve farklı paket sürümleri gerektirebilecek farklı projeler arasındaki çakışmaları önler.
Python'da
Ö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ümlere sahip 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. Bir Kapsayıcı İçinde Geliştirme.
Visual Studio 2022 ile çalışma
Visual Studio 2022, Python uygulama geliştirme desteği ve Azure kaynaklarına erişip azure kaynaklarına 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'u kullanmaya odaklansa da, Visual Studio 2022 zaten yüklediyseniz, bunu rahatça kullanıyorsanı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 kullanımıyla ilgili tüm belgeler için Python belgeleri.
Kurulum adımları için bkz. Visual Studio'da Python desteği yükleme, Python iş yükünü Visual Studio 2022'ye yükleme adımlarında size yol gösterir.
Web geliştirme için Python kullanmanın genel iş akışı için bkz. Hızlı Başlangıç: Visual Studiokullanarak ilk Python web uygulamanızı oluşturma. Bu makale, sıfırdan python web uygulaması oluşturmayı anlamak için yararlıdır (ancak Azure'a dağıtım içermez).
Azure kaynaklarını yönetmek ve Azure'a dağıtmak için Visual Studio 2022'yi kullanmak için bkz. Visual Studio ile Azure Geliştirme
. Buradaki belgelerin çoğu .NET'den özellikle bahsediliyor olsa da, Azure kaynaklarını yönetme ve Azure'a dağıtma araçları, programlama dilinden bağımsız olarak aynı şekilde çalışır. Belirli bir Azure yönetim veya dağıtım görevi için Visual Studio 2022'de yerleşik bir araç olmadığında,
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'yı kullanabilirsiniz. Aşağıdaki ekran görüntüsünde, PyCharm IDE'de basit bir Flask web uygulaması açık. Web uygulaması, az webapp up komutu kullanılarak bir Azure App Service'e dağıtılabilir. Ekran görüntüsünde, CLI komutu PyCharm eklenmiş terminal öykünücüsü içinde çalışır. IDE'nizde bir ekli öykünücü yoksa, herhangi bir terminalde aynı komutu kullanabilirsiniz. Azure CLI'nın bilgisayarınızda yüklü olması ve her iki durumda da erişilebilir olması gerekir.
Azure CLI komutları
Azure CLI komutlarını kullanarak web uygulamalarıyla yerel olarak çalışırken genellikle aşağıdaki komutlarla çalışırsınız:
| Komut | Açıklama |
|---|---|
| az webapp |
Web uygulamalarını yönetir. oluşturmak alt komutları içerir ve sırasıyla bir web uygulaması oluşturmak veya yerel bir çalışma alanından oluşturup dağıtmak için . |
| az container app |
Azure Container Apps'i yönetir. |
| az staticwebapp | Azure Static Web Apps'i 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 alt komutu kullanın oluşturun. |
| 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 upkullanarak tek komutta Azure'a 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. Hızlı Başlangıç: Azure App Service'e Python (Django veya Flask) web uygulaması dağıtma.
Azure iş akışınızın bazılarında Azure Cloud Shell
Azure SDK anahtar paketleri
Python web uygulamalarınızda, Pythoniçin Azure SDK'sını kullanarak Azure hizmetlerine program aracılığıyla başvurabilirsiniz. Bu SDK, Pythoniçin Azure kitaplıklarını (SDK) kullanma
Aşağıda web uygulaması geliştirmede yaygın olarak kullanılan paketlerden bazıları yer almaktadır. Paketleri sanal ortamınıza doğrudan pipile yükleyebilirsiniz. Veya python paket dizini (Pypi) adını requirements.txt dosyanıza yazın.
| SDK belgeleri | Yüklemek | Python paket dizini |
|---|---|---|
| Azure Kimliği | pip install azure-identity |
azure-identity |
| Azure Depolama Bloblarını |
pip install azure-storage-blob |
azure-storage-blob (Azure Depolama Bloğu) |
| Azure Cosmos DB |
pip install azure-cosmos |
azure-cosmos |
| Azure Key Vault Sırları | pip install azure-keyvault-secrets |
azure-keyvault-secrets |
azure-identity paketi, web uygulamanızın Microsoft Entra Id ile kimlik doğrulaması yapmasına olanak tanır. Web uygulaması kodunuzda kimlik doğrulaması için paketindeki azure-identity kullanmanız önerilir. Aşağıda Azure Depolama'ya erişmeye yönelik bir örnek verilmiştır. 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, hesap bilgileri için önceden tanımlanmış konumlarda (örneğin, ortam değişkenlerinde veya Azure CLI oturum açmada) arar.
DefaultAzureCredential mantığı hakkında ayrıntılı bilgi için bkz. Pythoniçin Azure SDK'sını kullanarak Azure hizmetlerinde Python uygulamalarının kimliğini doğrulama .
Python tabanlı web çerçeveleri
Python web uygulaması geliştirmede 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 etmenize gerek kalmamasını sağlar.
Üç yaygın Python web çerçevesi Django, Flaskveya FastAPI. Bunlar ve diğer web çerçeveleri Azure ile kullanılabilir.
Aşağıda, bu çerçeveleri yerel olarak kullanmaya nasıl hızlı bir şekilde baş edebileceğinize yönelik bir örnek verilmiştir. Bu komutları çalıştırdığınızda, Azure'a dağıtılabilir basit bir uygulamayla sonuçlanacaksınız. Bu komutlarıbir
Adım 1:pipile kütüphaneleri indirin.
2. Adım: Merhaba dünya uygulaması oluşturma.
django-admin startproject komutunu kullanarak örnek bir proje oluşturun. Proje, uygulamayı çalıştırmak için giriş noktası olan 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
Adım 4: Merhaba dünya uygulamasına göz atın.
Bu noktada bir requirements.txt dosyası ekleyin ve ardından web uygulamasını Azure'a dağıtabilir veya Docker ile kapsayıcıya alıp dağıtabilirsiniz.
Sonraki adımlar
- Hızlı Başlangıç: Azure App Service'te Python (Django veya Flask) web uygulaması oluşturma.
- Öğreticisi: Azure'de PostgreSQL ile Python (Django veya Flask) web uygulaması dağıtma
- Sistem tarafından atanan yönetilen kimlikle Flask web uygulaması oluşturma ve Azure'a dağıtma