Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 är några alternativ:
- Konfigurera en virtuell Python-miljö med hjälp av
venveller valfritt verktyg. Om du vill börja använda den virtuella miljön måste du aktivera den. Information om hur du installerar Python finns i Installera 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)
Använd en conda-miljö. Information om hur du installerar Conda finns i Installera Miniconda.
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 principal 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
Logga in på Azure med hjälp av Azure CLI om du inte redan har gjort det.
az loginAZURE_SUBSCRIPTION_IDAnge miljövariabeln till ditt prenumerations-ID. (Du kan köra kommandot az account show och hämta ditt prenumerations-ID frånidegenskapen i utdata):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000Visa en lista över alla resursgrupper i prenumerationen:
python list_groups.pyVisa en lista över alla resurser i en resursgrupp:
python list_resources.pySom standard listar koden resurser i "myResourceGroup". Om du vill använda en annan resursgrupp anger du
RESOURCE_GROUP_NAMEmiljö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: Skapa en virtuell maskin
- Använda Azure Managed Disks med virtuella datorer
- Slutför en kort undersökning om Azure SDK för Python