Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом примере показано, как использовать библиотеки управления azure SDK в скрипте Python для создания группы ресурсов. (В этой статье приведена эквивалентная команда Azure CLI . Если вы предпочитаете использовать портал Azure, см. статью "Создание групп ресурсов".)
Все команды, приведенные в этой статье, работают одинаково в оболочках команд Linux или macOS bash и Windows, если не указано.
1. Настройка локальной среды разработки
Если вы еще не сделали этого, настройте среду, в которой можно запустить этот код. Ниже приведено несколько вариантов:
Настройте виртуальную среду Python с помощью
venv
или выбранного средства. Чтобы начать использовать виртуальную среду, обязательно активируйте ее. Сведения об установке Python см. в разделе "Установка 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)
Используйте среду conda. Сведения об установке Conda см. в разделе "Установка Miniconda".
Используйте контейнер разработки в Visual Studio Code или GitHub Codespaces.
2. Установка пакетов библиотек Azure
В консоли создайте файлrequirements.txt , в который перечислены библиотеки управления, используемые в этом примере:
azure-mgmt-resource azure-identity
В консоли с активированной виртуальной средой установите требования:
pip install -r requirements.txt
3. Установите переменные среды
На этом шаге вы устанавливаете переменные среды для использования в коде в этой статье. Код использует os.environ
метод для получения значений.
#!/bin/bash
export AZURE_RESOURCE_GROUP_NAME=<ResourceGroupName> # Change to your preferred resource group name
export LOCATION=<Location> # Change to your preferred region
export AZURE_SUBSCRIPTION_ID=$(az account show --query id --output tsv)
4. Написание кода для создания группы ресурсов
На этом шаге вы создадите файл Python с именем provision_blob.py со следующим кодом. Этот скрипт Python использует библиотеки управления Azure SDK для Python для создания группы ресурсов в подписке Azure.
Создайте файл Python с именем provision_rg.py со следующим кодом. Примечания объясняют сведения:
# Import the needed credential and management objects from the libraries.
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Acquire a credential object using DevaultAzureCredential.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Retrieve resource group name and location from environment variables
RESOURCE_GROUP_NAME = os.environ["AZURE_RESOURCE_GROUP_NAME"]
LOCATION = os.environ["LOCATION"]
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Provision the resource group.
rg_result = resource_client.resource_groups.create_or_update(RESOURCE_GROUP_NAME,
{ "location": LOCATION })
print(f"Provisioned resource group {rg_result.name}")
# Within the ResourceManagementClient is an object named resource_groups,
# which is of class ResourceGroupsOperations, which contains methods like
# create_or_update.
#
# The second parameter to create_or_update here is technically a ResourceGroup
# object. You can create the object directly using ResourceGroup(location=
# LOCATION) or you can express the object as inline JSON as shown here. For
# details, see Inline JSON pattern for object arguments at
# https://learn.microsoft.com/azure/developer/python/sdk
# /azure-sdk-library-usage-patterns#inline-json-pattern-for-object-arguments
print(
f"Provisioned resource group {rg_result.name} in the {rg_result.location} region"
)
# The return value is another ResourceGroup object with all the details of the
# new group. In this case the call is synchronous: the resource group has been
# provisioned by the time the call returns.
# To update the resource group, repeat the call with different properties, such
# as tags:
rg_result = resource_client.resource_groups.create_or_update(
RESOURCE_GROUP_NAME,
{
"location": LOCATION,
"tags": {"environment": "test", "department": "tech"},
},
)
print(f"Updated resource group {rg_result.name} with tags")
# Optional lines to delete the resource group. begin_delete is asynchronous.
# poller = resource_client.resource_groups.begin_delete(rg_result.name)
# result = poller.result()
Аутентификация в коде
Далее в этой статье вы войдите в Azure с помощью Azure CLI для выполнения примера кода. Если у вашей учетной записи есть достаточные разрешения для создания групп ресурсов и ресурсов хранилища в подписке Azure, скрипт должен успешно выполняться без дополнительной настройки.
Чтобы использовать этот код в рабочей среде, аутентифицируйтесь с помощью учетной записи службы, установив переменные окружения. Такой подход обеспечивает безопасный, автоматизированный доступ без использования интерактивного входа. Подробные инструкции см. в статье "Проверка подлинности приложений Python с помощью служб Azure".
Убедитесь, что субъект-служба назначена роль с достаточными разрешениями для создания групп ресурсов и учетных записей хранения. Например, назначение роли участника на уровне подписки обеспечивает необходимый доступ. Дополнительные сведения о назначениях ролей см. в статье "Управление доступом на основе ролей" (RBAC) в Azure.
Ссылки на классы, используемые в коде
5. Запуск скрипта
Если вы еще не сделали этого, войдите в Azure с помощью Azure CLI:
az login
Запустите скрипт:
python provision_rg.py
6. Проверка группы ресурсов
Вы можете убедиться, что группа ресурсов существует через портал Azure или Azure CLI.
Портал Azure: откройте портал Azure, выберите группы ресурсов и убедитесь, что указана группа. При необходимости используйте команду "Обновить ", чтобы обновить список.
Azure CLI: используйте команду az group show :
#!/bin/bash az group show -n $AZURE_RESOURCE_GROUP_NAME
7. Очистка ресурсов
Выполните команду az group delete , если не нужно хранить группу ресурсов, созданную в этом примере. Группы ресурсов не несут никаких текущих расходов в вашей подписке, но ресурсы в группе ресурсов могут продолжать начислять расходы. Рекомендуется очистить любую группу, которую вы активно не используете. Аргумент --no-wait
позволяет команде немедленно вернуться, а не ожидать завершения операции.
#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --no-wait
Можно также использовать ResourceManagementClient.resource_groups.begin_delete
метод для удаления группы ресурсов из кода. Закомментированный код в нижней части скрипта в этой статье демонстрирует использование.
Для справки: эквивалентная команда Azure CLI
Следующая команда Azure CLI az group create создает группу ресурсов с тегами так же, как скрипт Python:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
См. также
- Пример. Перечисление групп ресурсов в подписке
- Пример. Создание службы хранилища Azure
- Пример. Использование службы хранилища Azure
- Пример. Создание веб-приложения и развертывание кода
- Пример. Создание и запрос базы данных
- Пример. Создание виртуальной машины
- Использование управляемых дисков Azure с виртуальными машинами
- Пройдите краткий опрос о пакете SDK Azure для Python