Przykład: wyświetlanie listy grup zasobów i zasobów przy użyciu bibliotek platformy Azure
W tym przykładzie pokazano, jak używać bibliotek zarządzania zestawem Azure SDK w skryscie języka Python do wykonywania dwóch zadań:
- Wyświetl listę wszystkich grup zasobów w subskrypcji platformy Azure.
- Wyświetlanie listy zasobów w określonej grupie zasobów.
Wszystkie polecenia w tym artykule działają tak samo w powłokach poleceń systemu Linux/macOS i Windows, chyba że zostały zaznaczone.
Równoważne polecenia interfejsu wiersza polecenia platformy Azure są wymienione w dalszej części tego artykułu.
1: Konfigurowanie lokalnego środowiska projektowego
Jeśli jeszcze tego nie zrobiono, skonfiguruj środowisko, w którym można uruchomić ten kod. Oto kilka opcji:
Skonfiguruj środowisko wirtualne języka Python przy użyciu
venv
lub wybranego narzędzia. Środowisko wirtualne można utworzyć lokalnie lub w usłudze Azure Cloud Shell i uruchomić tam kod. Pamiętaj, aby aktywować środowisko wirtualne, aby rozpocząć korzystanie z niego.Użyj środowiska conda.
Użyj kontenera deweloperskiego w programie Visual Studio Code lub GitHub Codespaces.
2: Instalowanie pakietów bibliotek platformy Azure
Utwórz plik o nazwie requirements.txt z następującą zawartością:
azure-mgmt-resource
azure-identity
W terminalu lub wierszu polecenia z aktywowanym środowiskiem wirtualnym zainstaluj wymagania:
pip install -r requirements.txt
3: Pisanie kodu do pracy z grupami zasobów
3a. Wyświetlanie listy grup zasobów w subskrypcji
Utwórz plik w języku Python o nazwie list_groups.py przy użyciu następującego kodu. Komentarze wyjaśniają szczegóły:
# 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. Wyświetlanie listy zasobów w określonej grupie zasobów
Utwórz plik w języku Python o nazwie list_resources.py przy użyciu następującego kodu. Komentarze wyjaśniają szczegóły.
Domyślnie kod wyświetla listę zasobów w grupie "myResourceGroup". Aby użyć innej grupy zasobów, ustaw RESOURCE_GROUP_NAME
zmienną środowiskową na żądaną nazwę grupy.
# 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}}")
Uwierzytelnianie w kodzie
W dalszej części tego artykułu zalogujesz się na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure, aby uruchomić przykładowy kod. Jeśli Twoje konto ma uprawnienia do tworzenia i wyświetlania listy grup zasobów w ramach subskrypcji platformy Azure, kod zostanie uruchomiony pomyślnie.
Aby użyć takiego kodu w skryscie produkcyjnym, można ustawić zmienne środowiskowe, aby użyć metody opartej na jednostce usługi na potrzeby uwierzytelniania. Aby dowiedzieć się więcej, zobacz Jak uwierzytelniać aplikacje języka Python za pomocą usług platformy Azure. Musisz upewnić się, że jednostka usługi ma wystarczające uprawnienia do tworzenia i wyświetlania listy grup zasobów w ramach subskrypcji, przypisując jej odpowiednią rolę na platformie Azure, na przykład rolę Współautor w subskrypcji.
Linki referencyjne dla klas używanych w kodzie
4. Uruchamianie skryptów
Jeśli jeszcze tego nie zrobiono, zaloguj się do platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure:
az login
Ustaw zmienną środowiskową
AZURE_SUBSCRIPTION_ID
na identyfikator subskrypcji. (Możesz uruchomić polecenie az account show i pobrać identyfikator subskrypcji zid
właściwości w danych wyjściowych):Wyświetl listę wszystkich grup zasobów w subskrypcji:
python list_groups.py
Wyświetl listę wszystkich zasobów w grupie zasobów:
python list_resources.py
Domyślnie kod wyświetla listę zasobów w grupie "myResourceGroup". Aby użyć innej grupy zasobów, ustaw
RESOURCE_GROUP_NAME
zmienną środowiskową na żądaną nazwę grupy.
Aby uzyskać informacje ogólne: równoważne polecenia interfejsu wiersza polecenia platformy Azure
Następujące polecenie interfejsu wiersza polecenia platformy Azure wyświetla listę grup zasobów w subskrypcji:
az group list
Następujące polecenie wyświetla listę zasobów w grupie "myResourceGroup" w regionie centralus ( location
argument jest niezbędny do zidentyfikowania określonego centrum danych):
az resource list --resource-group myResourceGroup --location centralus
Zobacz też
- Przykład: aprowizuj grupę zasobów
- Przykład: Aprowizuj usługę Azure Storage
- Przykład: korzystanie z usługi Azure Storage
- Przykład: aprowizuj aplikację internetową i wdróż kod
- Przykład: aprowizuj bazę danych i odpytuj bazę danych
- Przykład: aprowizuj maszynę wirtualną
- Korzystanie z usługi Azure Dyski zarządzane z maszynami wirtualnymi
- Wykonaj krótką ankietę dotyczącą zestawu Azure SDK dla języka Python