Contoh: Menggunakan pustaka Azure untuk mencatatkan grup sumber daya dan sumber daya

Contoh ini menunjukkan cara menggunakan pustaka manajemen Azure SDK dalam skrip Python untuk melakukan dua tugas:

  • Catatkan semua grup sumber daya dalam langganan Azure.
  • Daftar sumber daya di dalam grup sumber daya tertentu.

Semua perintah dalam artikel ini bekerja secara sama di bash Linux/macOS dan shell perintah Windows kecuali ada catatan.

Perintah Azure CLI yang setara dicantumkan nanti di artikel ini.

1: Siapkan lingkungan pengembangan lokal Anda

Jika Anda belum melakukannya, siapkan lingkungan tempat Anda dapat menjalankan kode ini. Berikut ini adalah beberapa opsi:

2: Instal paket pustaka Azure

Buat file bernama requirements.txt dengan konten berikut:

azure-mgmt-resource
azure-identity

Di terminal atau command prompt dengan lingkungan virtual diaktifkan, instal persyaratan:

pip install -r requirements.txt

3: Tulis kode untuk bekerja dengan grup sumber daya

3a. Mencatat grup sumber daya dalam langganan

Buat file Python bernama list_groups.py dengan kode berikut. Komentar akan menjelaskan detailnya:

# 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. Mencatat sumber daya di dalam grup sumber daya tertentu

Buat file Python bernama list_resources.py dengan kode berikut. Komentar akan menjelaskan detailnya.

Secara default, kode ini mencatatkan sumber daya di "myResourceGroup". Untuk menggunakan grup sumber daya yang berbeda, atur variabel lingkungan RESOURCE_GROUP_NAME menjadi nama grup yang diinginkan.

# 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}}")

Autentikasi dalam kode

Kemudian dalam artikel ini, Anda masuk ke Azure dengan Azure CLI untuk menjalankan kode sampel. Jika akun Anda memiliki izin untuk membuat dan mencantumkan grup sumber daya di langganan Azure Anda, kode akan berhasil dijalankan.

Untuk menggunakan kode tersebut dalam skrip produksi, Anda dapat mengatur variabel lingkungan untuk menggunakan metode berbasis perwakilan layanan untuk autentikasi. Untuk mempelajari selengkapnya, lihat Cara mengautentikasi aplikasi Python dengan layanan Azure. Anda perlu memastikan bahwa perwakilan layanan memiliki izin yang memadai untuk membuat dan mencantumkan grup sumber daya dalam langganan Anda dengan menetapkan peran yang sesuai di Azure; misalnya, peran Kontributor pada langganan Anda.

4: Jalankan skrip

  1. Jika Anda belum melakukannya, masuk ke Azure menggunakan Azure CLI:

    az login
    
  2. Atur AZURE_SUBSCRIPTION_ID variabel lingkungan ke ID langganan Anda. (Anda dapat menjalankan perintah az account show dan mendapatkan ID langganan Anda dari id properti dalam output):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. Daftar semua grup sumber daya dalam langganan:

    python list_groups.py
    
  4. Daftar semua sumber daya dalam grup sumber daya:

    python list_resources.py
    

    Secara default, kode ini mencatatkan sumber daya di "myResourceGroup". Untuk menggunakan grup sumber daya yang berbeda, atur variabel lingkungan RESOURCE_GROUP_NAME menjadi nama grup yang diinginkan.

Untuk referensi: perintah Azure CLI yang setara

Perintah Azure CLI berikut mencantumkan grup sumber daya dalam langganan:

az group list

Perintah berikut mencantumkan sumber daya dalam "myResourceGroup" di wilayah centralus ( location argumen diperlukan untuk mengidentifikasi pusat data tertentu):

az resource list --resource-group myResourceGroup --location centralus

Lihat juga