Bagikan melalui


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 Microsoft Azure, lihat Membuat grup sumber daya.)

Semua perintah dalam artikel ini berfungsi sama di shell perintah Linux/macOS bash dan Windows kecuali dinyatakan.

1: Menyiapkan lingkungan pengembangan lokal Anda

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

  • Konfigurasikan lingkungan virtual Python menggunakan venv atau alat pilihan Anda. Untuk mulai menggunakan lingkungan virtual, pastikan untuk mengaktifkannya. Untuk menginstal python, lihat Menginstal Python.

    #!/bin/bash
    # Create a virtual environment
    python -m venv .venv
    # Activate the virtual environment
    source .venv/Scripts/activate # only required for Windows (Git Bash)
    
  • Gunakan lingkungan kerja conda . Untuk menginstal Conda, lihat Menginstal Miniconda.

  • Gunakan Dev Container di Visual Studio Code atau GitHub Codespaces.

2: Menginstal paket pustaka Azure

  1. Di konsol Anda, buat file requirements.txt yang mencantumkan pustaka manajemen yang digunakan dalam contoh ini:

    azure-mgmt-resource
    azure-identity
    
  2. Di konsol Anda dengan lingkungan virtual diaktifkan, instal persyaratan:

    pip install -r requirements.txt
    

3. Atur variabel lingkungan

Dalam langkah ini, Anda mengatur variabel lingkungan untuk digunakan dalam kode dalam artikel ini. Kode menggunakan os.environ metode untuk mengambil nilai.

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

Dalam langkah ini, Anda membuat file Python bernama provision_blob.py dengan kode berikut. Skrip Python ini menggunakan Azure SDK untuk pustaka manajemen Python untuk membuat grup sumber daya di langganan Azure Anda.

Buat file Python bernama provision_rg.py dengan kode berikut. Komentar 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"]

# 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()

Autentikasi dalam kode

Kemudian dalam artikel ini, Anda masuk ke Azure menggunakan Azure CLI untuk menjalankan kode sampel. Jika akun Anda memiliki izin yang memadai untuk membuat grup sumber daya dan sumber daya penyimpanan di langganan Azure Anda, skrip harus berjalan dengan sukses tanpa konfigurasi tambahan.

Untuk penerapan kode ini di lingkungan produksi, autentikasi menggunakan prinsipal layanan dengan mengatur variabel lingkungan. Pendekatan ini memungkinkan akses otomatis yang aman tanpa mengandalkan login interaktif. Untuk panduan terperinci, lihat Cara mengautentikasi aplikasi Python dengan layanan Azure.

Pastikan bahwa perwakilan layanan diberi peran dengan izin yang memadai untuk membuat grup sumber daya dan akun penyimpanan. Misalnya, menetapkan peran Kontributor di tingkat langganan menyediakan akses yang diperlukan. Untuk mempelajari selengkapnya tentang penetapan peran, lihat Kontrol akses berbasis peran (RBAC) di Azure.

5: Jalankan skrip

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

    az login
    
  2. Jalankan skrip:

    python provision_rg.py
    

6: Memverifikasi grup sumber daya

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

  • Portal Microsoft Azure: buka portal Microsoft Azure, pilih Grup sumber daya, dan periksa apakah grup tercantum. Jika perlu, gunakan perintah Refresh untuk memperbarui daftar.

  • Azure CLI: gunakan perintah az group show :

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

7: Membersihkan sumber daya

Jalankan perintah az group delete jika Anda tidak perlu menyimpan grup sumber daya yang dibuat 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.

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