Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 zaznaczono inaczej.
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. Aby rozpocząć korzystanie ze środowiska wirtualnego, pamiętaj, aby go aktywować. Aby zainstalować język Python, zobacz Instalowanie języka 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)
Użyj środowiska conda. Aby zainstalować aplikację Conda, zobacz Instalowanie narzędzia Miniconda.
Użyj kontenera deweloperskiego w Visual Studio Code lub GitHub Codespaces.
2: Instalowanie pakietów bibliotek platformy Azure
Utwórz plik o nazwie requirements.txt o następującej 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 rola 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 wynikach wyjściowych):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
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.
W celach informacyjnych: równoważne polecenia Azure CLI
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 także
- Przykład: skonfiguruj 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: skonfiguruj i zapytaj bazę danych
- Przykład: aprowizuj maszynę wirtualną
- Używanie zarządzanych dysków Azure z maszynami wirtualnymi
- Wykonaj krótką ankietę dotyczącą zestawu Azure SDK dla języka Python