Örnek: Kaynak grubu oluşturmak için Azure kitaplıklarını kullanma
Bu örnekte, bir kaynak grubu oluşturmak için Python betiğinde Azure SDK yönetim kitaplıklarının nasıl kullanılacağı gösterilmektedir. (Eşdeğer Azure CLI komutu bu makalenin devamında verilmiştir. Azure portalını kullanmayı tercih ediyorsanız bkz. Kaynak grupları oluşturma.)
Bu makaledeki tüm komutlar, not edilmediği sürece Linux/macOS bash ve Windows komut kabuklarında aynı şekilde çalışır.
1: Yerel geliştirme ortamınızı ayarlama
Henüz yapmadıysanız, bu kodu çalıştırabileceğiniz bir ortam ayarlayın. Aşağıda bazı seçenekleri görebilirsiniz:
veya seçtiğiniz aracı kullanarak
venv
bir Python sanal ortamı yapılandırın. Sanal ortamı yerel olarak veya Azure Cloud Shell'de oluşturabilir ve kodu orada çalıştırabilirsiniz. Kullanmaya başlamak için sanal ortamı etkinleştirdiğinizden emin olun.Conda ortamı kullanın.
Visual Studio Code veya GitHub Codespaces'ta Geliştirme Kapsayıcısı kullanın.
2: Azure kitaplık paketlerini yükleme
aşağıdaki içeriklere sahip requirements.txt adlı bir dosya oluşturun:
azure-mgmt-resource
azure-identity
Sanal ortamın etkinleştirildiği bir terminalde veya komut isteminde gereksinimleri yükleyin:
pip install -r requirements.txt
3: Kaynak grubu oluşturmak için kod yazma
Aşağıdaki kodla provision_rg.py adlı bir Python dosyası oluşturun. Açıklamalar ayrıntıları açıklar:
# Import the needed credential and management objects from the libraries.
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Acquire a credential object using DevaultAzureCredential.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Provision the resource group.
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg", {"location": "centralus"}
)
# Within the ResourceManagementClient is an object named resource_groups,
# which is of class ResourceGroupsOperations, which contains methods like
# create_or_update.
#
# The second parameter to create_or_update here is technically a ResourceGroup
# object. You can create the object directly using ResourceGroup(location=
# LOCATION) or you can express the object as inline JSON as shown here. For
# details, see Inline JSON pattern for object arguments at
# https://zcusa.951200.xyz/azure/developer/python/sdk
# /azure-sdk-library-usage-patterns#inline-json-pattern-for-object-arguments
print(
f"Provisioned resource group {rg_result.name} in the {rg_result.location} region"
)
# The return value is another ResourceGroup object with all the details of the
# new group. In this case the call is synchronous: the resource group has been
# provisioned by the time the call returns.
# To update the resource group, repeat the call with different properties, such
# as tags:
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg",
{
"location": "centralus",
"tags": {"environment": "test", "department": "tech"},
},
)
print(f"Updated resource group {rg_result.name} with tags")
# Optional lines to delete the resource group. begin_delete is asynchronous.
# poller = resource_client.resource_groups.begin_delete(rg_result.name)
# result = poller.result()
Kodda kimlik doğrulaması
Bu makalenin devamında, örnek kodu çalıştırmak için Azure CLI ile Azure'da oturum açarsınız. Hesabınızın Azure aboneliğinizde kaynak grupları oluşturma ve listeleme izinleri varsa kod başarıyla çalıştırılır.
Bu kodu üretim betiğinde kullanmak için ortam değişkenlerini kimlik doğrulaması için hizmet sorumlusu tabanlı bir yöntem kullanacak şekilde ayarlayabilirsiniz. Daha fazla bilgi edinmek için bkz . Azure hizmetleriyle Python uygulamalarının kimliğini doğrulama. Hizmet sorumlusuna Azure'da uygun bir rol atayarak (örneğin, aboneliğinizdeki Katkıda Bulunan rolü) aboneliğinizde kaynak grupları oluşturmak ve listelemek için yeterli izinlere sahip olduğundan emin olmanız gerekir.
Kodda kullanılan sınıflar için başvuru bağlantıları
4: Betiği çalıştırma
Henüz yapmadıysanız Azure CLI kullanarak Azure'da oturum açın:
az login
Ortam değişkenini
AZURE_SUBSCRIPTION_ID
abonelik kimliğiniz olarak ayarlayın. (az account show komutunu çalıştırabilir ve çıkıştaki özelliğindenid
abonelik kimliğinizi alabilirsiniz:Betiği çalıştırın:
python provision_rg.py
5: Kaynak grubunu doğrulama
Grubun mevcut olduğunu Azure portalı veya Azure CLI aracılığıyla doğrulayabilirsiniz.
Azure portalı: Azure portalını açın, Kaynak grupları'nı seçin ve grubun listelenip listelenmediğini denetleyin. Portalı zaten açtıysanız listeyi güncelleştirmek için Yenile komutunu kullanın.
Azure CLI: az group show komutunu kullanın:
az group show -n PythonAzureExample-rg
6: Kaynakları temizleme
Bu örnekte oluşturulan kaynak grubunu tutmanız gerekmiyorsa az group delete komutunu çalıştırın. Kaynak grupları aboneliğinizde devam eden bir ücret ödemez, ancak kaynak grubundaki kaynaklar ücretlendirilmeye devam edebilir. Etkin olarak kullanmadığınız tüm grupları temizlemek iyi bir uygulamadır. --no-wait
bağımsız değişkeni, işlemin bitmesini beklemek yerine komutun hemen döndürülmesini sağlar.
az group delete -n PythonAzureExample-rg --no-wait
Bir kaynak grubunu koddan silmek için yöntemini de kullanabilirsiniz ResourceManagementClient.resource_groups.begin_delete
. Bu makaledeki betiğin altındaki açıklamalı kod, kullanımı gösterir.
Başvuru için: eşdeğer Azure CLI komutu
Aşağıdaki Azure CLI az group create komutu, Python betiği gibi etiketlerle bir kaynak grubu oluşturur:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Ayrıca bkz.
- Örnek: Abonelikteki kaynak gruplarını listeleme
- Örnek: Azure Depolama oluşturma
- Örnek: Azure Depolama'yı kullanma
- Örnek: Web uygulaması oluşturma ve kod dağıtma
- Örnek: Veritabanı oluşturma ve sorgulama
- Örnek: Sanal makine oluşturma
- Sanal makinelerle Azure Yönetilen Diskler kullanma
- Python için Azure SDK hakkında kısa bir anket tamamlama