Aracılığıyla paylaş


Ö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ı kullanmaya başlamak için etkinleştirmeyi unutmayın. Python'ı yüklemek için bkz. Python'ı yükleme.

    #!/bin/bash
    # Create a virtual environment
    python -m venv .venv
    # Activate the virtual environment
    source .venv/Scripts/activate # only required for Windows (Git Bash)
    
  • Conda ortamı kullanın. Conda'yı yüklemek için bkz. Miniconda'yı yükleme.

  • Visual Studio Code veya GitHub Codespaces'taGeliştirme Kapsayıcısı kullanın.

2: Azure kitaplık paketlerini yükleme

  1. Konsolunuzda, bu örnekte kullanılan yönetim kitaplıklarını listeleyen bir requirements.txt dosyası oluşturun:

    azure-mgmt-resource
    azure-identity
    
  2. Sanal ortamın etkinleştirildiği konsolunuzda gereksinimleri yükleyin:

    pip install -r requirements.txt
    

3. Ortam değişkenlerini ayarlama

Bu adımda, bu makaledeki kodda kullanılacak ortam değişkenlerini ayarlarsınız. Kod, değerleri almak için yöntemini kullanır os.environ .

#!/bin/bash
export AZURE_RESOURCE_GROUP_NAME=<ResourceGroupName> # Change to your preferred resource group name
export LOCATION=<Location> # Change to your preferred region
export AZURE_SUBSCRIPTION_ID=$(az account show --query id --output tsv)

4: Kaynak grubu oluşturmak için kod yazma

Bu adımda, aşağıdaki kodla provision_blob.py adlı bir Python dosyası oluşturursunuz. Bu Python betiği, Azure aboneliğinizde bir kaynak grubu oluşturmak için Python yönetim kitaplıkları için Azure SDK'sını kullanır.

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"]

# Retrieve resource group name and location from environment variables
RESOURCE_GROUP_NAME = os.environ["AZURE_RESOURCE_GROUP_NAME"]
LOCATION = os.environ["LOCATION"]

# 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(RESOURCE_GROUP_NAME,
    { "location": LOCATION })

print(f"Provisioned resource group {rg_result.name}")

# 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://learn.microsoft.com/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(
    RESOURCE_GROUP_NAME,
    {
        "location": LOCATION,
        "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 yürütmek için Azure CLI kullanarak Azure'da oturum açarsınız. Hesabınız Azure aboneliğinizde kaynak grupları ve depolama kaynakları oluşturmak için yeterli izinlere sahipse, betik ek yapılandırma olmadan başarıyla çalıştırılmalıdır.

Bu kodu üretim ortamında kullanmak için, ortam değişkenlerini ayarlayarak hizmet sorumlusu kullanarak kimlik doğrulaması oluşturun. Bu yaklaşım, etkileşimli oturum açma bilgilerine bağlı kalmadan güvenli, otomatik erişim sağlar. Ayrıntılı yönergeler için bkz. Azure hizmetleriyle Python uygulamalarının kimliğini doğrulama.

Hizmet sorumlusuna kaynak grupları ve depolama hesapları oluşturmak için yeterli izinlere sahip bir rol atandığından emin olun. Örneğin, Abonelik düzeyinde Katkıda Bulunan rolü atamak gerekli erişimi sağlar. Rol atamaları hakkında daha fazla bilgi edinmek için bkz. Azure'da rol tabanlı erişim denetimi (RBAC).

5: Betiği çalıştır

  1. Henüz yapmadıysanız Azure CLI kullanarak Azure'da oturum açın:

    az login
    
  2. Betiği Çalıştırın:

    python provision_rg.py
    

6: Kaynak grubunu doğrulama

Kaynak grubunun 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. Gerekirse, listeyi güncelleştirmek için Yenile komutunu kullanın.

  • Azure CLI: az group show komutunu kullanın:

    #!/bin/bash
    az group show -n $AZURE_RESOURCE_GROUP_NAME
    

7: 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.

#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --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.

Referans 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 bakınız