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 realizar dos tareas:
- Enumere todos los grupos de recursos de una suscripción de Azure.
- Enumera los recursos dentro de un grupo de recursos específico.
Todos los comandos de este artículo funcionan iguales en los shells de comandos de Linux/macOS y Windows, a menos que se indique.
Los comandos equivalentes de la CLI de Azure se enumeran más adelante en este artículo.
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
Cree un archivo denominado requirements.txt con el siguiente contenido:
azure-mgmt-resource
azure-identity
En un terminal o línea de comandos con el entorno virtual activado, instale los requisitos necesarios:
pip install -r requirements.txt
3: Escribir código para trabajar con grupos de recursos
3a. Enumeración de grupos de recursos en una suscripción
Cree un archivo de Python denominado list_groups.py con el código siguiente. Los comentarios explican los detalles:
# 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. Enumeración de recursos dentro de un grupo de recursos específico
Cree un archivo de Python denominado list_resources.py con el código siguiente. Los comentarios explican los detalles.
De forma predeterminada, el código enumera los recursos en "myResourceGroup". Para usar otro grupo de recursos, establezca la RESOURCE_GROUP_NAME
variable de entorno en el nombre del grupo deseado.
# 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}}")
Autenticación en el código
Más adelante en este artículo, inicia sesión en Azure con la CLI de Azure para ejecutar el código de ejemplo. Si la cuenta tiene permisos para crear y enumerar grupos de recursos en la suscripción de Azure, el código se ejecutará correctamente.
Para usar este código en un script de producción, puede establecer variables de entorno para usar un método basado en la entidad de servicio para la autenticación. Para más información, consulte Autenticación de aplicaciones de Python con servicios de Azure. Debe asegurarse de que el principal de servicio tiene permisos suficientes para crear y enumerar grupos de recursos en tu suscripción mediante la asignación de un rol adecuado en Azure; por ejemplo, el rol Colaborador en tu suscripción.
Vínculos de referencia para las clases usadas en el código
4: Ejecutar los scripts
Si aún no lo ha hecho, inicie sesión en Azure mediante la CLI de Azure:
az login
Establezca la variable de entorno
AZURE_SUBSCRIPTION_ID
a su ID de suscripción. (Puede ejecutar el comando az account show y obtener el ID de suscripción de la propiedadid
en la salida):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
Enumerar todos los grupos de recursos de la suscripción:
python list_groups.py
Enumerar todos los recursos de un grupo de recursos:
python list_resources.py
De forma predeterminada, el código enumera los recursos en "myResourceGroup". Para usar otro grupo de recursos, establezca la
RESOURCE_GROUP_NAME
variable de entorno en el nombre del grupo deseado.
Como referencia: comandos equivalentes de la CLI de Azure
El siguiente comando de la CLI de Azure enumera los grupos de recursos de una suscripción:
az group list
El siguiente comando enumera los recursos dentro de "myResourceGroup" en la región centralus (el location
argumento es necesario para identificar un centro de datos específico):
az resource list --resource-group myResourceGroup --location centralus
Consulte también
- Ejemplo: Aprovisionamiento de un grupo de recursos
- Ejemplo: Aprovisionamiento de Azure Storage
- Ejemplo de uso de Azure Storage
- Ejemplo: Aprovisionamiento de una aplicación web e implementación de código
- Ejemplo: Aprovisionamiento y consulta de una base de datos
- Ejemplo: Aprovisionamiento 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