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

  1. Seleccione Paquetes de Python en Recursos compartidos, en la cuenta de Automation. Seleccione + Agregar un paquete de Python.

    Captura de pantalla de la página de paquetes de Python que muestra los paquetes de Python en el menú izquierdo y la opción para agregar un paquete de Python resaltada.

  2. En la página Agregar un paquete de Python, seleccione un paquete local para cargar. El paquete puede ser un archivo .whl.

  3. Escriba el nombre y seleccione la versión del entorno de ejecución como 2.x.x.

  4. Seleccione Import (Importar).

    Captura de pantalla que muestra la página Agregar un paquete de Python, con un archivo tar.gz cargado y seleccionado.

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.

Captura de pantalla que muestra la página Paquetes de Python 2.7.x después de importar un paquete.

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>

Captura de pantalla en la que se muestra la página de información general de _py2package_from_pypi con el panel

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.