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 örnekte, iki görevi gerçekleştirmek için Python betiğinde Azure SDK yönetim kitaplıklarının nasıl kullanılacağı gösterilmektedir:
- Azure aboneliğindeki tüm kaynak gruplarını listeleme.
- Belirli bir kaynak grubu içindeki kaynakları listeleyin.
Bu makaledeki tüm komutlar, not edilmediği sürece Linux/macOS bash ve Windows komut kabuklarında aynı şekilde çalışır.
Eşdeğer Azure CLI komutları bu makalenin devamında listelenmiştir.
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:
-
venv
veya seçtiğiniz aracı kullanarak 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
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 gruplarıyla çalışmak için kod yazma
3a. Abonelikteki kaynak gruplarını listeleme
Aşağıdaki kodla list_groups.py adlı bir Python dosyası oluşturun. Açıklamalar ayrıntıları açıklar:
# Import the needed credential and management objects from the libraries.
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
import os
# Acquire a credential object.
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)
# Retrieve the list of resource groups
group_list = resource_client.resource_groups.list()
# Show the groups in formatted output
column_width = 40
print("Resource Group".ljust(column_width) + "Location")
print("-" * (column_width * 2))
for group in list(group_list):
print(f"{group.name:<{column_width}}{group.location}")
3b. Belirli bir kaynak grubu içindeki kaynakları listeleme
Aşağıdaki kodla list_resources.py adlı bir Python dosyası oluşturun. Açıklamalar ayrıntıları açıklar.
Varsayılan olarak, kod "myResourceGroup" içindeki kaynakları listeler. Farklı bir kaynak grubu kullanmak için ortam değişkenini RESOURCE_GROUP_NAME
istediğiniz grup adına ayarlayın.
# Import the needed credential and management objects from the libraries.
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
import os
# Acquire a credential object.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Retrieve the resource group to use, defaulting to "myResourceGroup".
resource_group = os.getenv("RESOURCE_GROUP_NAME", "myResourceGroup")
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Retrieve the list of resources in "myResourceGroup" (change to any name desired).
# The expand argument includes additional properties in the output.
resource_list = resource_client.resources.list_by_resource_group(
resource_group, expand = "createdTime,changedTime")
# Show the groups in formatted output
column_width = 36
print("Resource".ljust(column_width) + "Type".ljust(column_width)
+ "Create date".ljust(column_width) + "Change date".ljust(column_width))
print("-" * (column_width * 4))
for resource in list(resource_list):
print(f"{resource.name:<{column_width}}{resource.type:<{column_width}}"
f"{str(resource.created_time):<{column_width}}{str(resource.changed_time):<{column_width}}")
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. Azure'da uygun bir rol atayarak hizmet sorumlusunun aboneliğinizde kaynak grupları oluşturmak ve listelemek için yeterli izinlere sahip olduğundan emin olmanız gerekir; örneğin, aboneliğinizdeki Katkıda Bulunan rolü.
Kodda kullanılan sınıflar için başvuru bağlantıları
4: Komut dosyalarını çalıştırın
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:export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
Abonelikteki tüm kaynak gruplarını listeleyin:
python list_groups.py
Bir kaynak grubundaki tüm kaynakları listeleme:
python list_resources.py
Varsayılan olarak, kod "myResourceGroup" içindeki kaynakları listeler. Farklı bir kaynak grubu kullanmak için ortam değişkenini
RESOURCE_GROUP_NAME
istediğiniz grup adına ayarlayın.
Referans için: eşdeğer Azure CLI komutları
Aşağıdaki Azure CLI komutu bir abonelikteki kaynak gruplarını listeler:
az group list
Aşağıdaki komut, centralus bölgesindeki "myResourceGroup" içindeki kaynakları listeler ( location
bağımsız değişken belirli bir veri merkezini tanımlamak için gereklidir):
az resource list --resource-group myResourceGroup --location centralus
Ayrıca bakınız
- Örnek: Kaynak grubu sağlama
- Örnek: Azure Depolama sağlama
- Örnek: Azure Depolama'yı kullanma
- Örnek: Web uygulaması sağlama ve kod dağıtma
- Örnek: Veritabanı sağlama ve sorgulama
- Örnek: Sanal makine sağlama
- Azure Yönetilen Disklerini sanal makinelerle kullanma
- Python için Azure SDK hakkında kısa bir anket tamamlama