Contoh: Menggunakan pustaka Azure untuk membuat grup sumber daya

Contoh ini menunjukkan cara menggunakan pustaka manajemen Azure SDK dalam skrip Python untuk membuat grup sumber daya. (Perintah Azure CLI yang setara diberikan nanti dalam artikel ini. Jika Anda lebih suka menggunakan portal Azure, lihat Membuat grup sumber daya.)

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

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: Menulis kode untuk membuat grup sumber daya

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

# 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://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(
    "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()

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

    python provision_rg.py
    

5. Verifikasi grup sumber daya

Anda dapat memverifikasi bahwa grup tersebut ada melalui portal Microsoft Azure atau Azure CLI.

  • Portal Microsoft Azure: buka portal Microsoft Azure, pilih Grup sumber daya, dan periksa apakah grup tersebut terdaftar. Jika Anda sudah membuka portal, gunakan perintah Refresh untuk memperbarui daftar.

  • Azure CLI: gunakan perintah az group show :

    az group show -n PythonAzureExample-rg
    

6: Membersihkan sumber daya

Jalankan perintah az group delete jika Anda tidak perlu membuat grup sumber daya dalam contoh ini. Grup sumber daya tidak dikenakan biaya berkelanjutan dalam langganan Anda, tetapi sumber daya dalam grup sumber daya mungkin terus dikenakan biaya. Ini adalah praktik yang baik untuk membersihkan grup apa pun yang tidak Anda gunakan secara aktif. Argumen --no-wait memungkinkan perintah untuk segera kembali alih-alih menunggu operasi selesai.

az group delete -n PythonAzureExample-rg  --no-wait

Anda juga dapat menggunakan metode ResourceManagementClient.resource_groups.begin_delete untuk menghapus grup sumber daya dari kode. Kode yang dikomentari di bagian bawah skrip dalam artikel ini menunjukkan penggunaan.

Untuk referensi: perintah Azure CLI yang setara

Perintah buat grup az Azure CLI berikut membuat grup sumber daya dengan tag seperti skrip Python:

az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"

Lihat juga