Azure için yerel Python geliştirme ortamınızı yapılandırma
Bulut uygulamaları oluştururken, geliştiriciler genellikle kodu yerel iş istasyonlarında test eder ve bu kodu Azure gibi bir bulut ortamına dağıtacaktır. Yerel geliştirme, size hız ve çok çeşitli hata ayıklama araçlarının avantajlarından yararlanmanızı sağlar.
Bu makalede, Azure 'da Python için uygun olan yerel bir geliştirme ortamı oluşturmak ve doğrulamak için tek seferlik kurulum yönergeleri sunulmaktadır:
- Azure hesabı, Python ve Azure CLı gibi gerekli bileşenleri yükler.
- Azure kitaplıklarını kullanarak Azure kaynakları sağlamak, yönetmek ve erişmek için kimlik doğrulamasını yapılandırın .
- Projelerinizin her biri için Python sanal ortamlarını kullanma sürecini gözden geçirin.
İş istasyonunuzu yapılandırdıktan sonra, bu Geliştirici merkezinde ve Azure belgelerinde başka bir yerde bulunan çeşitli hızlı başlangıçlara ve öğreticilere sahip olmak için yalnızca en az eklenen yapılandırmaya ihtiyacınız olacaktır.
Yerel geliştirme için bu kurulum, uygulamanızın Azure 'da bulut ortamını oluşturan kaynakları sağlamaktan ayrı bir uygulamadır. Geliştirme sürecinizdeki yerel geliştirme ortamınızda bu bulut kaynaklarına erişebilen kodu çalıştırırsınız, ancak kodunuz henüz bulutta uygun bir barındırma hizmetine dağıtılmadı. Bu dağıtım adımı daha sonra Azure geliştirme akışı makalesinde açıklandığı şekilde gelir.
Bileşenleri yükler
Gerekli bileşenler
| Ad/yükleyici | Description |
|---|---|
| Etkin aboneliği olan Azure hesabı | Hesaplar/abonelikler ücretsizdir ve birçok ücretsiz kullanıma hizmet içerir. |
| Python 2.7 + veya 3.6 + | Bir Conda ortamında olabilecek Python dil çalışma zamanı. Belirli sürüm gereksinimleriniz yoksa Python 3. x ' in en son sürümünü öneririz. |
| Azure Komut Satırı Arabirimi (CLI) | Azure kaynaklarını sağlamak ve yönetmek için tam bir CLı komutları paketi sağlar. Python geliştiricileri, Azure CLı 'yi Azure Yönetim kitaplıklarını kullanan özel Python betikleri ile birlikte yaygın olarak kullanır. |
Notlar:
- Gereksinimlerinize bağlı olarak, tek tek Azure kitaplık paketlerini proje başına temelinde yüklersiniz. Her proje için Python sanal ortamlarını kullanmanızı öneririz. Python için tek başına "SDK" yükleyicisi yoktur.
- Azure PowerShell genellikle azure clı ile eşdeğer olsa da, Python ile çalışırken azure clı önerilir.
Önerilen bileşenler
| Ad/yükleyici | Description |
|---|---|
| Visual Studio Code | Uygun bir düzenleyici veya IDE ile çalışabilseniz de Microsoft 'un ücretsiz ve basit IDE, Python geliştiricileri arasında çok popüler. Giriş için bkz. vs Code Python. |
| VS Code için Python uzantısı | VS Code için Python desteği ekler. |
| VS Code için Azure uzantısı | VS Code için çeşitli Azure Hizmetleri desteği ekler. Ayrıca, belirli hizmetler için destek ayrı ayrı yüklenebilir. |
| git | Kaynak denetimi için komut satırı araçları. Tercih ediyorsanız farklı kaynak denetimi araçları kullanabilirsiniz. |
İsteğe bağlı bileşenler
| Ad/yükleyici | Description |
|---|---|
| VS Code için Docker uzantısı | VS Code için docker desteği ekler ve kapsayıcılarla düzenli olarak çalışmanız durumunda yararlı olur. |
Bileşenleri doğrulama
- Bir Terminal veya komut istemi açın.
- Komutunu çalıştırarak Python sürümünüzü doğrulayın
python --version. - Çalıştıran Azure CLı sürümünü doğrulayın
az --version. - yüklemeyi VS Code doğrulama:
code .geçerli klasöre VS Code açmak için çalıştırın.- VS Code, uzantılar görünümünü açmak içinuzantıları görüntüle komutunu seçin, ardından listede "Python" ve "azure hesabı" ' nı (bu uzantıyı de yüklediyseniz diğer "azure" uzantıları ve "docker" arasında) gördiğinizi doğrulayın.
CLı 'dan Azure 'da oturum açın
Bir Terminal veya komut isteminde Azure aboneliğinizde oturum açın:
az login
azKomut, Azure CLI 'nın kök komuttur. Aşağıda az , gibi bir veya daha fazla belirli komut vardır login . Az Login komut başvurusuna bakın.
Azure CLı, oturum açma bilgilerinizi normalde oturumlarınızda tutar, ancak az login her yeni bir Terminal veya komut istemi açtığınızda çalıştırmak iyi bir uygulamadır.
Kimlik doğrulamasını yapılandırma
Uygulamalarda kimlik doğrulama konusundaaçıklandığı gibi, her geliştiricinin uygulama kodu yerel olarak test edilirken uygulama kimliği olarak kullanmak için bir hizmet sorumlusu olması gerekir.
Aşağıdaki bölümlerde, hizmet sorumlusu ve gerektiğinde hizmet sorumlusunun özelliklerini Azure kitaplıklarına sağlayan ortam değişkenlerinin nasıl oluşturulacağı açıklanır.
Kuruluşunuzdaki her geliştirici bu adımları ayrı olarak gerçekleştirmelidir.
Geliştirme için bir hizmet sorumlusu ve ortam değişkenleri oluşturma
Azure CLı () içinde oturum açtığınız bir Terminal veya komut istemi açın
az login.Hizmet sorumlusunu oluşturun:
az ad sp create-for-rbac --name localtest-sp-rbacKomut ve bağımsız değişkenleri hakkında daha fazla bilgi için bkz. Create-for-RBAC komutu.
Bir kurumunuzda, bu komutu çalıştırmak için abonelikte izin olmayabilir. Bu durumda, sizin için hizmet sorumlusu oluşturmak üzere abonelik sahiplerine başvurun.
Azure kitaplıklarının gerektirdiği ortam değişkenlerini oluşturmak için aşağıdaki komutları kullanın. (
DefaultAzureCredentialAzure kimlik kitaplığı 'nın nesnesi bu değişkenleri arar).set AZURE_SUBSCRIPTION_ID="aa11bb33-cc77-dd88-ee99-0918273645aa" set AZURE_TENANT_ID=00112233-7777-8888-9999-aabbccddeeff set AZURE_CLIENT_ID=12345678-1111-2222-3333-1234567890ab set AZURE_CLIENT_SECRET=oUBB11zz~JJJJ_~yyyyyyVVumumumumb_bBu komutlarda gösterilen değerleri, belirli hizmet sorumlusuyla değiştirin.
Abonelik KIMLIĞINIZI almak için
az account showkomutunu çalıştırın veidÇıkışta özelliği bulun.kolaylık olması için aynı komutları içeren bir komut satırı betik dosyası (Windows on macos/Linux veya setenv. cmd üzerinde setenv.sh ) oluşturun. Ardından, yerel test için bir Terminal veya komut istemi açtığınızda değişkenleri ayarlamak için betiği çalıştırabilirsiniz. Yine, komut dosyasını kaynak denetimine eklemeyin, bu nedenle yalnızca kullanıcı hesabınızda kalır.
İstemci KIMLIĞINI ve istemci gizli anahtarını (ve bunları depolayan dosyaları), her zaman bir iş istasyonunda belirli bir kullanıcı hesabında kalacak şekilde koruyun. Bu özellikleri kaynak denetimine hiçbir şekilde kaydetmeyin veya diğer geliştiricilerle paylaşabilirsiniz. Gerekirse, hizmet sorumlusunu silebilir ve yeni bir tane oluşturabilirsiniz.
Ek bir güvenlik katmanı için, hizmet sorumlularını düzenli bir zamanlamaya göre silip yeniden oluşturmak üzere bir ilke oluşturabilir ve böylece önceki kimlikleri ve gizli dizileri geçersiz hale getirebilirsiniz.
Ayrıca, bir geliştirme hizmeti sorumlusu yalnızca üretim dışı kaynaklar için yetkilendirilir veya yalnızca geliştirme amacıyla kullanılan bir Azure aboneliğinde oluşturulur. Üretim uygulaması, ayrı bir abonelik kullanır ve yalnızca dağıtılan bulut uygulaması için yetkilendirilmiş üretim kaynaklarını ayrı ayrı kullanır.
Daha sonra hizmet sorumlularını değiştirmek veya silmek için bkz. hizmet sorumlularını yönetme.
Önemli
Üretim kodu için (yerel geliştirme yerine), belirli bir hizmet sorumlusu yerine mümkün olduğunda Yönetilen kimlikler kullanın.
Create-for-RBAC komutu ne yapar?
az ad sp create-for-rbacKomut "rol tabanlı kimlik doğrulaması" (RBAC) için bir hizmet sorumlusu oluşturur. (Hizmet sorumluları hakkında daha fazla bilgi için bkz. Azure 'Da Python uygulamalarının kimliğini doğrulama ve yetkilendirme.)
adAzure Active Directory;sp"hizmet sorumlusu" anlamına gelir ve "create-for-rbacrol tabanlı erişim denetimi için oluşturma", Azure 'un birincil yetkilendirme biçimidir. Bkz: az ad SP Create-for-RBAC komut başvurusu.--nameBağımsız değişken, kuruluşunuz içinde benzersiz olmalıdır ve genellikle hizmet sorumlusunu kullanan geliştiricinin adını kullanır. Bu bağımsız değişkeni atlarsanız Azure CLı, formun genel adını kullanırazure-cli-<timestamp>. İsterseniz Azure portal hizmet sorumlusunu yeniden adlandırabilirsiniz.az ad sp create-for-rbacKomut, hizmet sorumlusuna herhangi bir rol atamaz. Bu, güvenlik sorumlusu tehlikeye atılırsa bir risk oluşturur. bu nedenle, tam rollerin, hizmet sorumlusunun gerektirdiği kesin kapsamda atanmasını öneririz. Bkz. Azure rol tabanlı erişim denetimi (RBAC) ve rol ataması ekleme adımları. Farklı hızlı başlangıçlar ve öğreticiler Ayrıca, dahil edilen belirli kaynaklar için bir hizmet sorumlusunu yetkilendirmek için ayrıntılar sağlar.Komut aşağıdaki değerlere benzer JSON çıktısı oluşturur.
appId,tenantVepassworddeğerlerinin hepsi farklı olacaktır:{"AppID": "12345678-1111-2222-3333-1234567890ab", "displayName": "localtest-SP-RBAC", "ad": " http://localtest-sp-rbac ", "Password": "abcdef00-4444-5555-6666-1234567890ab", "Kiracı": "00112233-7777-8888-9999-AABBCCDDEEFF"}Bu çıktıda
tenantKIRACı kimliği,appIdistemci kimliği vepasswordistemci gizli anahtarı olur.Uyarı
Çıktıda bulunan
az ad sp create-for-rbac, parola, istemci parolası veya sertifika gibi tüm kimlik bilgilerini koruyun. Kimlik bilgilerini kodda veya kaynak denetimine kaydedilen herhangi bir dosyada depolamayın.Önemli
Bu komutun çıktısı, parolayı görebileceğiniz tek yerdir. Parolayı daha sonra alamazsınız. Bununla birlikte, gerekirse hizmet sorumlusu veya var olan parolaların geçersiz kılınması gerekmeden yeni bir parola ekleyebilirsiniz.
Python sanal ortamlarını kullanma
Her proje için aşağıdaki adımları kullanarak her zaman bir sanal ortam oluşturmanızı ve etkinleştirmenizi öneririz:
Bir Terminal veya komut istemi açın.
Projeniz için bir klasör oluşturun.
Sanal ortamı oluşturun:
# py -3 uses the global python interpreter. You can also use python -m venv .venv. py -3 -m venv .venvBu komut Python modülünü çalıştırır
venvve adlı klasörde bir sanal ortam oluşturur.venv.Sanal ortamı etkinleştirin:
Sanal ortam, bir proje içindeki, belirli bir Python yorumlayıcısının bir kopyasını yalıtarak bir klasördür. bu ortamı etkinleştirdikten sonra (Visual Studio Code otomatik olarak), çalıştırma pip install yalnızca bu ortama bir kitaplık kurar. Daha sonra Python kodunuzu çalıştırdığınızda bu, ortamın her kitaplığın belirli sürümleriyle tam bağlamda çalışır. Çalıştırdığınızda pip freeze , bu kitaplıkların tam listesini alırsınız. (Bu belgelerdeki örneklerin çoğunda, ihtiyacınız olan kitaplıklar için bir requirements.txt dosyası oluşturun ve ardından öğesini kullanın . Azure 'a kod dağıttığınızda gereksinim dosyası genellikle gereklidir.)
Sanal bir ortam kullanmıyorsanız, Python kendi genel ortamındaçalışır. Genel ortamın kullanılması hızlı ve kullanışlı olsa da, herhangi bir proje veya deneme için yüklediğiniz tüm kitaplıklar ile zaman içinde oluşan şişirmeyi eğilimi gösterir. Ayrıca, bir proje için bir kitaplığı güncelleştirirseniz, bu kitaplığın farklı sürümlerine bağlı diğer projeleri de kesebilirsiniz. Ortam herhangi bir sayıda proje tarafından paylaşıldığından, pip freeze bir proje bağımlılıklarının listesini almak için kullanamazsınız.
Genel ortam, birden çok projede kullanmak istediğiniz araç paketlerini yüklemek istediğiniz yerdir. Örneğin, pip install gunicorn gunicbir Web sunucusunun her yerde kullanılabilmesini sağlamak için genel ortamda çalıştırabilirsiniz.
Kaynak denetimini kullan
Bir projeyi her başlattığınızda kaynak denetimi deposu oluşturmanın habite almanızı öneririz. Git yüklüyse, aşağıdaki komutu çalıştırmanız yeterlidir:
git init
Buradan, ve gibi komutları çalıştırarak git add değişiklikleri gerçekleştirebilirsiniz git commit . Değişiklikleri düzenli olarak kaydederek, bir önceki duruma geri döndürülerek bir işleme geçmişi oluşturursunuz.
projenizin çevrimiçi yedeklemesini yapmak için, deponuzu GitHub veya Azure DevOpskarşıya yüklemeniz önerilir. önce bir yerel depo oluşturduysanız, git remote add GitHub veya Azure DevOps yerel depoyu eklemek için kullanın.
Git belgeleri Git-scm.com/docs ve tüm Internet 'te bulunur.
Visual Studio Code, bir dizi yerleşik git özelliği içerir. Daha fazla bilgi için bkz. vs Code sürüm denetimini kullanma.
Tercih ettiğiniz herhangi bir kaynak denetimi aracını da kullanabilirsiniz; Git, en yaygın kullanılan ve desteklenen bir yalnızca biridir.
Sonraki adım
Yerel geliştirme ortamınızdan yararlanın, Azure kitaplıkları için ortak kullanım düzenlerine göz atın: