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:

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.

4: Kör skripten

  1. Om du inte redan har gjort det loggar du in på Azure med Hjälp av Azure CLI:

    az login
    
  2. 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ån id egenskapen i utdata):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. Visa en lista över alla resursgrupper i prenumerationen:

    python list_groups.py
    
  4. 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