Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом примере показано, как использовать библиотеки управления azure SDK в скрипте Python для выполнения двух задач:
- Список всех групп ресурсов в подписке Azure.
- Перечисление ресурсов в определенной группе ресурсов.
Все команды, приведенные в этой статье, работают одинаково в оболочках команд Linux или macOS bash и Windows, если не указано.
Эквивалентные команды Azure CLI перечислены далее в этой статье.
1. Настройка локальной среды разработки
Если вы еще не сделали этого, настройте среду, в которой можно запустить этот код. Ниже приведено несколько вариантов:
- Настройте виртуальную среду Python с помощью
venvили выбранного средства. Чтобы начать использовать виртуальную среду, обязательно активируйте ее. Сведения об установке Python см. в разделе "Установка Python".
#!/bin/bash
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
source venv/bin/activate
Используйте среду conda. Сведения об установке Conda см. в разделе "Установка Miniconda".
Используйте контейнер разработки в Visual Studio Code или GitHub Codespaces.
2. Установка пакетов библиотек Azure
Создайте файл с именемrequirements.txt со следующим содержимым:
azure-mgmt-resource
azure-identity
В терминале или командной строке с активированной виртуальной средой установите требования:
pip install -r requirements.txt
3. Написание кода для работы с группами ресурсов
3a. Список групп ресурсов в подписке
Создайте файл Python с именем list_groups.py со следующим кодом. Примечания объясняют сведения:
# 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. Список ресурсов в определенной группе ресурсов
Создайте файл Python с именем list_resources.py со следующим кодом. Примечания объясняют детали.
По умолчанию код перечисляет ресурсы в myResourceGroup. Чтобы использовать другую группу ресурсов, задайте RESOURCE_GROUP_NAME переменную среды в нужное имя группы.
# 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}}")
Аутентификация в коде
Далее в этой статье вы выполните вход в Azure с помощью Azure CLI для запуска примера кода. Если у вашей учетной записи есть разрешения на создание и перечисление групп ресурсов в подписке Azure, код успешно выполняется.
Чтобы использовать этот код в рабочем скрипте, задайте переменные среды для использования метода на основе субъекта-службы для проверки подлинности. Дополнительные сведения см. в статье "Проверка подлинности приложений Python с помощью служб Azure". Убедитесь, что субъект-служба имеет достаточные разрешения для создания и перечисления групп ресурсов в подписке, назначив ей соответствующую роль в Azure; например, роль участника в подписке.
Ссылки на классы, используемые в коде
- DefaultAzureCredential (azure.identity)
- ResourceManagementClient (azure.mgmt.resource)
4. Запуск скриптов
Если вы еще не сделали этого, войдите в Azure с помощью Azure CLI:
az loginЗадайте для переменной
AZURE_SUBSCRIPTION_IDсреды идентификатор подписки. (Выполните команду az account show и получите идентификатор подписки из свойстваidв выводе):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000Список всех групп ресурсов в подписке:
python list_groups.pyСписок всех ресурсов в группе ресурсов:
python list_resources.pyПо умолчанию код перечисляет ресурсы в
myResourceGroup. Чтобы использовать другую группу ресурсов, задайтеRESOURCE_GROUP_NAMEпеременную среды в нужное имя группы.
Для справки: эквивалентные команды Azure CLI
Следующая команда Azure CLI содержит группы ресурсов в подписке:
az group list
Следующая команда выводит список ресурсов в пределах myResourceGroup в регионе centralus (аргумент location необходим, чтобы указать конкретный центр обработки данных):
az resource list --resource-group myResourceGroup --location centralus
См. также
- Пример: Подготовка группы ресурсов
- Пример. Подготовка службы хранилища Azure
- Пример. Использование службы хранилища Azure
- Пример. Подготовка веб-приложения и развертывание кода
- Пример. Подготовка и запрос базы данных
- Пример. Подготовка виртуальной машины
- Использование управляемых дисков Azure с виртуальными машинами
- Краткое исследование о пакете SDK Azure для Python