Exempel: Använd Azure-biblioteken för att lista resursgrupper och resurser
Det här exemplet visar hur du använder Azure SDK-hanteringsbiblioteken i ett Python-skript för att utföra två uppgifter:
- Visa en lista över alla resursgrupper i en Azure-prenumeration.
- Visa en lista över resurser i en specifik resursgrupp.
Alla kommandon i den här artikeln fungerar på samma sätt i Linux/macOS bash- och Windows-kommandogränssnitt om de inte anges.
Motsvarande Azure CLI-kommandon visas senare i den här artikeln.
1: Konfigurera din lokala utvecklingsmiljö
Om du inte redan har gjort det konfigurerar du en miljö där du kan köra den här koden. Här följer några alternativ:
Konfigurera en virtuell Python-miljö med hjälp av
venv
eller valfritt verktyg. Du kan skapa den virtuella miljön lokalt eller i Azure Cloud Shell och köra koden där. Var noga med att aktivera den virtuella miljön för att börja använda den.Använd en conda-miljö.
Använd en Dev-container i Visual Studio Code eller GitHub Codespaces.
2: Installera Azure-bibliotekspaketen
Skapa en fil med namnet requirements.txt med följande innehåll:
azure-mgmt-resource
azure-identity
Installera kraven i en terminal eller kommandotolk med den virtuella miljön aktiverad:
pip install -r requirements.txt
3: Skriva kod för att arbeta med resursgrupper
3a. Lista resursgrupper i en prenumeration
Skapa en Python-fil med namnet list_groups.py med följande kod. Kommentarerna förklarar informationen:
# 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. Visa en lista över resurser i en specifik resursgrupp
Skapa en Python-fil med namnet list_resources.py med följande kod. Kommentarerna förklarar informationen.
Som standard listar koden resurser i "myResourceGroup". Om du vill använda en annan resursgrupp anger du RESOURCE_GROUP_NAME
miljövariabeln till önskat gruppnamn.
# 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}}")
Autentisering i koden
Senare i den här artikeln loggar du in på Azure med Azure CLI för att köra exempelkoden. Om ditt konto har behörighet att skapa och lista resursgrupper i din Azure-prenumeration körs koden.
Om du vill använda sådan kod i ett produktionsskript kan du ange miljövariabler så att de använder en tjänsthuvudnamnsbaserad metod för autentisering. Mer information finns i Autentisera Python-appar med Azure-tjänster. Du måste se till att tjänstens huvudnamn har tillräcklig behörighet för att skapa och lista resursgrupper i din prenumeration genom att tilldela den en lämplig roll i Azure, till exempel rollen Deltagare i din prenumeration.
Referenslänkar för klasser som används i koden
4: Kör skripten
Om du inte redan har gjort det loggar du in på Azure med Hjälp av Azure CLI:
az login
AZURE_SUBSCRIPTION_ID
Ange miljövariabeln till ditt prenumerations-ID. (Du kan köra kommandot az account show och hämta ditt prenumerations-ID frånid
egenskapen i utdata):set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
Visa en lista över alla resursgrupper i prenumerationen:
python list_groups.py
Visa en lista över alla resurser i en resursgrupp:
python list_resources.py
Som standard listar koden resurser i "myResourceGroup". Om du vill använda en annan resursgrupp anger du
RESOURCE_GROUP_NAME
miljövariabeln till önskat gruppnamn.
Som referens: motsvarande Azure CLI-kommandon
Följande Azure CLI-kommando visar resursgrupper i en prenumeration:
az group list
Följande kommando visar resurser i "myResourceGroup" i regionen centralus ( location
argumentet är nödvändigt för att identifiera ett specifikt datacenter):
az resource list --resource-group myResourceGroup --location centralus
Se även
- Exempel: Etablera en resursgrupp
- Exempel: Etablera Azure Storage
- Exempel: Använda Azure Storage
- Exempel: Etablera en webbapp och distribuera kod
- Exempel: Etablera och köra frågor mot en databas
- Exempel: Etablera en virtuell dator
- Använda Azure Managed Disks med virtuella datorer
- Slutför en kort undersökning om Azure SDK för Python