Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo usar las bibliotecas de administración del SDK de Azure en un script de Python para crear un grupo de recursos. (El comando equivalente de la CLI de Azure se proporciona más adelante en este artículo. Si prefiere usar Azure Portal, consulte Creación de grupos de recursos).
Todos los comandos de este artículo funcionan iguales en los shells de comandos de Linux/macOS y Windows, a menos que se indique.
1: Configuración del entorno de desarrollo local
Si aún no lo ha hecho, configure un entorno en el que pueda ejecutar este código. Estas son algunas opciones:
Configure un entorno virtual de Python mediante
venv
o la herramienta que prefiera. Para empezar a usar el entorno virtual, asegúrese de activarlo. Para instalar Python, consulte Instalación de 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)
Usa un entorno conda . Para instalar Conda, consulte Instalación de Miniconda.
Usa un contenedor de desarrollo en Visual Studio Code o en GitHub Codespaces .
2: Instalación de los paquetes de biblioteca de Azure
En la consola, cree un archivo requirements.txt que muestre las bibliotecas de administración que se usan en este ejemplo:
azure-mgmt-resource azure-identity
En la consola con el entorno virtual activado, instale los requisitos:
pip install -r requirements.txt
3. Establecer variables de entorno
En este paso, establecerá las variables de entorno para usarlas en el código de este artículo. El código usa el os.environ
método para recuperar los valores.
#!/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: Escribir código para crear un grupo de recursos
En este paso, creará un archivo de Python denominado provision_blob.py con el código siguiente. Este script de Python usa el SDK de Azure para bibliotecas de administración de Python para crear un grupo de recursos en la suscripción de Azure.
Cree un archivo de Python denominado provision_rg.py con el código siguiente. Los comentarios explican los detalles:
# 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()
Autenticación en el código
Más adelante en este artículo, inicia sesión en Azure mediante la CLI de Azure para ejecutar el código de ejemplo. Si la cuenta tiene permisos suficientes para crear grupos de recursos y recursos de almacenamiento en la suscripción de Azure, el script debe ejecutarse correctamente sin configuración adicional.
Para usar este código en un entorno de producción, autentíquese mediante una entidad de servicio estableciendo variables de entorno. Este enfoque permite el acceso seguro y automatizado sin depender del inicio de sesión interactivo. Para obtener instrucciones detalladas, consulte Autenticación de aplicaciones de Python con servicios de Azure.
Asegúrese de que a la entidad de servicio se le asigna un rol con permisos suficientes para crear grupos de recursos y cuentas de almacenamiento. Por ejemplo, asignar el rol Colaborador en el nivel de suscripción proporciona el acceso necesario. Para más información sobre las asignaciones de roles, consulte Control de acceso basado en rol (RBAC) en Azure.
Vínculos de referencia para las clases usadas en el código
5: Ejecutar el script
Si aún no lo ha hecho, inicie sesión en Azure mediante la CLI de Azure:
az login
Ejecuta el script:
python provision_rg.py
6: Comprobación del grupo de recursos
Puede comprobar que el grupo de recursos existe a través de Azure Portal o la CLI de Azure.
Azure Portal: abra Azure Portal, seleccione Grupos de recursos y compruebe que aparece el grupo. Si es necesario, use el comando Actualizar para actualizar la lista.
CLI de Azure: use el comando az group show :
#!/bin/bash az group show -n $AZURE_RESOURCE_GROUP_NAME
7: Limpieza de recursos
Ejecute el comando az group delete si no necesita conservar el grupo de recursos creado en este ejemplo. Los grupos de recursos no incurren en cargos continuos en la suscripción, pero es posible que los recursos del grupo de recursos sigan generando cargos. Se recomienda limpiar cualquier grupo que no se esté usando activamente. El argumento --no-wait
permite que el comando devuelva inmediatamente en lugar de esperar a que finalice la operación.
#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --no-wait
También puede usar el método ResourceManagementClient.resource_groups.begin_delete
para eliminar un grupo de recursos del código. El código comentado en la parte inferior del script de este artículo muestra el uso.
Como referencia: comando equivalente de la CLI de Azure
El siguiente comando az group create de la CLI de Azure crea un grupo de recursos con etiquetas igual que el script de Python:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Consulte también
- Ejemplo: Enumeración de grupos de recursos en una suscripción
- Ejemplo: Creación de Azure Storage
- Ejemplo de uso de Azure Storage
- Ejemplo: Creación de una aplicación web e implementación de código
- Ejemplo: Creación y consulta de una base de datos
- Ejemplo: Creación de una máquina virtual
- Uso de Azure Managed Disks con máquinas virtuales
- Complete una breve encuesta sobre el SDK de Azure para Python