Příklad: Použití knihoven Azure k výpisu skupin prostředků a prostředků
Tento příklad ukazuje, jak pomocí knihoven pro správu sady Azure SDK ve skriptu Pythonu provádět dvě úlohy:
- Zobrazí seznam všech skupin prostředků v předplatném Azure.
- Vypíše prostředky v rámci konkrétní skupiny prostředků.
Všechny příkazy v tomto článku fungují stejně v prostředích Bash pro Linux/macOS a Windows, pokud není uvedeno.
Ekvivalentní příkazy Azure CLI jsou uvedeny dále v tomto článku.
1: Nastavení místního vývojového prostředí
Pokud jste to ještě neudělali, nastavte prostředí, ve kterém můžete tento kód spustit. Zde je uvedeno několik možností:
Nakonfigurujte virtuální prostředí Pythonu pomocí
venv
libovolného nástroje nebo nástroje. Virtuální prostředí můžete vytvořit místně nebo v Azure Cloud Shellu a spustit ho tam. Nezapomeňte aktivovat virtuální prostředí, abyste ho mohli začít používat.Použijte prostředí Conda.
Použijte vývojový kontejner v editoru Visual Studio Code nebo GitHub Codespaces.
2: Instalace balíčků knihovny Azure
Vytvořte soubor s názvem requirements.txt s následujícím obsahem:
azure-mgmt-resource
azure-identity
V terminálu nebo příkazovém řádku s aktivovaným virtuálním prostředím nainstalujte požadavky:
pip install -r requirements.txt
3: Psaní kódu pro práci se skupinami prostředků
3a. Výpis skupin prostředků v předplatném
Vytvořte soubor Pythonu s názvem list_groups.py s následujícím kódem. Komentáře vysvětlují podrobnosti:
# 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. Výpis prostředků v rámci konkrétní skupiny prostředků
Vytvořte soubor Pythonu s názvem list_resources.py s následujícím kódem. Komentáře vysvětlují podrobnosti.
Ve výchozím nastavení obsahuje kód prostředky v myResourceGroup. Pokud chcete použít jinou skupinu prostředků, nastavte RESOURCE_GROUP_NAME
proměnnou prostředí na požadovaný název skupiny.
# 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}}")
Ověřování v kódu
Později v tomto článku se přihlásíte k Azure pomocí Azure CLI a spustíte vzorový kód. Pokud má váš účet oprávnění k vytváření a výpisu skupin prostředků ve vašem předplatném Azure, kód se úspěšně spustí.
Pokud chcete tento kód použít v produkčním skriptu, můžete nastavit proměnné prostředí tak, aby pro ověřování používaly metodu založenou na instančním objektu. Další informace najdete v tématu Ověřování aplikací v Pythonu pomocí služeb Azure. Musíte zajistit, aby instanční objekt má dostatečná oprávnění k vytvoření a výpisu skupin prostředků ve vašem předplatném tím, že mu v Azure přiřadíte odpovídající roli, například roli Přispěvatel ve vašem předplatném.
Referenční odkazy pro třídy použité v kódu
4: Spuštění skriptů
Pokud jste to ještě neudělali, přihlaste se k Azure pomocí Azure CLI:
az login
Nastavte proměnnou
AZURE_SUBSCRIPTION_ID
prostředí na ID vašeho předplatného. (Příkaz az account show můžete spustit a získat ID předplatnéhoid
z vlastnosti ve výstupu):Výpis všech skupin prostředků v předplatném:
python list_groups.py
Výpis všech prostředků ve skupině prostředků:
python list_resources.py
Ve výchozím nastavení obsahuje kód prostředky v myResourceGroup. Pokud chcete použít jinou skupinu prostředků, nastavte
RESOURCE_GROUP_NAME
proměnnou prostředí na požadovaný název skupiny.
Referenční informace: Ekvivalentní příkazy Azure CLI
Následující příkaz Azure CLI vypíše skupiny prostředků v předplatném:
az group list
Následující příkaz vypíše prostředky v rámci skupiny myResourceGroup v oblasti centralus ( location
argument je nezbytný k identifikaci konkrétního datového centra):
az resource list --resource-group myResourceGroup --location centralus
Viz také
- Příklad: Zřízení skupiny prostředků
- Příklad: Zřízení služby Azure Storage
- Příklad: Použití Služby Azure Storage
- Příklad: Zřízení webové aplikace a nasazení kódu
- Příklad: Zřízení a dotazování databáze
- Příklad: Zřízení virtuálního počítače
- Použití Azure Spravované disky s virtuálními počítači
- Dokončení krátkého průzkumu o sadě Azure SDK pro Python