Administración de paquetes de Python 2 en Azure Automation
En este artículo se describe cómo importar, administrar y usar paquetes de Python 2 en Azure Automation que se ejecutan en el entorno de espacio aislado de Azure e Hybrid Runbook Worker. Para simplificar los runbooks, puede usar paquetes de Python para importar los módulos que necesita.
Para obtener información sobre cómo administrar paquetes de Python 3, consulte Administración de paquetes de Python 3.
Importación de paquetes
Seleccione Paquetes de Python en Recursos compartidos, en la cuenta de Automation. Seleccione + Agregar un paquete de Python.
En la página Agregar un paquete de Python, seleccione un paquete local para cargar. El paquete puede ser un archivo .whl.
Escriba el nombre y seleccione la versión del entorno de ejecución como 2.x.x.
Seleccione Import (Importar).
Una vez que se haya importado un paquete, este se muestra en la página de Paquetes de Python en su cuenta de Automation. Para quitar un paquete, selecciónelo y luego seleccione Eliminar.
Importación de paquetes con dependencias
Azure Automation no resuelve las dependencias de los paquetes de Python durante el proceso de importación. Hay dos formas de importar un paquete con todas sus dependencias. Solo es necesario realizar uno de los pasos siguientes para importar los paquetes en su cuenta de Automation.
Descarga manual
En una máquina Windows de 64 bits con Python 2.7 y pip instalados, ejecute el siguiente comando para descargar un paquete y todas sus dependencias:
C:\Python27\Scripts\pip2.7.exe download -d <output dir> <package name>
Una vez que se han descargado los paquetes, puede importarlos en la cuenta de Automation.
Runbook
Para obtener un runbook, importe paquetes de Python 2 desde pypi a la cuenta de Azure Automation desde la organización GitHub de Azure Automation a la cuenta de Automation. Asegúrese de que los parámetros de ejecución están establecidos en Azure e inicie el runbook con los parámetros. Asegúrese de que la identidad administrada esté habilitada para la cuenta de Automation y que tenga acceso de colaborador de Automation para la importación correcta del paquete. Asegúrese de iniciar cada parámetro con el modificador, como se ve en la lista e imagen siguientes:
- -s <subscriptionId>
- -g <resourceGroup>
- -a <automationAccount>
- -m <modulePackage>
El runbook permite especificar el paquete que se va a descargar. Por ejemplo, el uso del parámetro Azure
descarga todos los módulos de Azure y todas las dependencias (aproximadamente 105). Una vez completado el runbook, puede consultar la página Paquetes de Python en Recursos compartidos en su cuenta de Automation para comprobar que el paquete se importó correctamente.
Usar un paquete en un runbook
Si tiene un paquete importado, puede usarlo en un runbook. Agregue el código siguiente para mostrar todos los grupos de recursos de una suscripción de Azure.
#!/usr/bin/env python
import os
import requests
# printing environment variables
endPoint = os.getenv('IDENTITY_ENDPOINT') + "?resource=https://management.azure.com/"
identityHeader = os.getenv('IDENTITY_HEADER')
payload = {}
headers = {
'X-IDENTITY-HEADER': identityHeader,
'Metadata': 'True'
}
response = requests.request("GET", endPoint, headers=headers, data=payload)
print response.text
Desarrollar y probar runbooks sin conexión
Para desarrollar y probar los runbooks de Python 2 desconectado, puede usar el módulo Recursos emulados de Python de Azure Automation en GitHub. Este módulo le permite hacer referencia a recursos compartidos como credenciales, variables, conexiones y certificados.
Pasos siguientes
Para preparar un runbook de Python, consulte Creación de un runbook de Python.