Tipos de runbooks de Azure Automation

La característica de automatización de procesos de Azure Automation admite varios tipos de runbooks, tal como se define en la tabla siguiente. Para más información sobre el entorno de automatización de procesos, consulte Ejecución de un runbook en Azure Automation.

Tipo Descripción
PowerShell Runbook de texto basado en scripting de Windows PowerShell. Las versiones admitidas actualmente son: PowerShell 5.1 (GA), PowerShell 7.1 (versión preliminar) y PowerShell 7.2 (versión preliminar).
Flujo de trabajo de PowerShell Runbook de texto basado en scripting de flujo de trabajo de Windows PowerShell.
Python Runbook de texto basado en scripting de Python. Las versiones admitidas actualmente son: Python 2.7 (GA), Python 3.8 (versión preliminar) y Python 3.10 (versión preliminar).
Gráfico Runbook gráfico basado en Windows PowerShell, y creado y editado completamente en el editor gráfico de Azure Portal.
Flujo de trabajo gráfico de PowerShell Runbook gráfico basado en flujo de trabajo de Windows PowerShell, y creado y editado completamente en el editor gráfico de Azure Portal.

Tenga en cuenta las siguientes consideraciones al determinar qué tipo usar para un runbook concreto.

  • No es posible convertir runbooks de tipo gráfico a texto o viceversa.
  • Existen limitaciones al utilizar runbooks de diferentes tipos como runbooks secundarios. Para más información, consulte Child runbooks in Azure Automation (Runbooks secundarios en Azure Automation).

Runbooks de PowerShell

Los runbooks de PowerShell están basados en Windows PowerShell. Puede modificar directamente el código del runbook con el editor de texto en el Portal de Azure. También puede usar cualquier editor de texto sin conexión e importar el runbook en Azure Automation.

La versión de PowerShell viene determinada por la versión del runtime especificada (es decir, 7.1 (versión preliminar), 7.2 (versión preliminar) o 5.1). El servicio Azure Automation admite el entorno de ejecución de PowerShell más reciente.

El mismo espacio aislado de Azure y la instancia de Hybrid Runbook Worker pueden ejecutar runbooks de PowerShell 5.1 y PowerShell 7.1 (versión preliminar) en paralelo.

Nota

  • Actualmente, la versión de runtime de PowerShell 7.2 (versión preliminar) solo se admite en cinco regiones para trabajos en la nube: Centro-oeste de EE. UU., Este de EE. UU., Norte de Sudáfrica, Norte de Europa, Sudeste de Australia
  • En el momento de la ejecución del runbook, si selecciona Versión de runtime como 7.1 (versión preliminar), se usan los módulos de PowerShell destinados a la versión del runtime 7.1; si selecciona Versión de runtime como 5.1, se usan los módulos de PowerShell que tienen como destino la versión de runtime 5.1. Esto se aplica a los módulos y runbooks de PowerShell 7.2 (versión preliminar).

Asegúrese de seleccionar la versión del entorno de ejecución adecuada para los módulos.

Por ejemplo: si está ejecutando un runbook para un escenario de automatización de SharePoint en la versión del entorno de ejecución7.1 (versión preliminar), importe el módulo en la versión del entorno de ejecución7.1 (versión preliminar); si por el contrario está ejecutando un runbook para un escenario de automatización de SharePoint en la versión del entorno de ejecución5.1, importe el módulo en la versión del entorno de ejecución5.1. En este caso, verá dos entradas para el módulo, una para la versión del entorno de ejecución7.1 (versión preliminar) y otra para la versión 5.1.

Tipos de runbook.

Nota

Actualmente, se admiten PowerShell 5.1, PowerShell 7.1 (versión preliminar) y PowerShell 7.2 (versión preliminar).

Ventajas

  • Implemente toda la lógica compleja con código de PowerShell sin otras complejidades del flujo de trabajo de PowerShell.
  • Se inician con más rapidez que los runbooks de flujo de trabajo de PowerShell, ya que no necesitan compilarse antes de la ejecución.
  • Ejecute en Azure y en Hybrid Runbook Worker para Windows y Linux.

Limitaciones y problemas conocidos

A continuación se describen los problemas conocidos y las limitaciones actuales con los runbooks de PowerShell:

Limitaciones

  • Debe estar familiarizado con el scripting de PowerShell.
  • Los runbooks no pueden usar el procesamiento paralelo para ejecutar varias acciones en paralelo.
  • Los runbooks no pueden usar los puntos de control para reanudar un runbook si se produce un error.
  • Solo puede incluir runbooks gráficos, de PowerShell y de flujo de trabajo de PowerShell como runbooks secundarios mediante el cmdlet Start-AzAutomationRunbook, que crea un trabajo.
  • Los runbooks no pueden usar la instrucción #Requires de PowerShell, no se admite en el espacio aislado de Azure ni en instancias de Hybrid Runbook Worker y provocarán un error en el trabajo.

Problemas conocidos

  • Los runbooks de PowerShell no pueden recuperar un recurso de variable sin cifrar con un valor null.
  • Los runbooks de PowerShell no pueden recuperar un recurso de variable con *~* en el nombre.
  • Una operación Get-Process en un bucle de un runbook de PowerShell puede bloquearse después de más de 80 iteraciones.
  • Un runbook de PowerShell puede producir un error si intenta escribir una gran cantidad de datos en el flujo de salida a la vez. Puede evitar este problema si hace que el runbook genere únicamente la información necesaria para trabajar con objetos grandes. Por ejemplo, en lugar de usar Get-Process sin limitaciones, puede hacer que el cmdlet genere solo los parámetros necesarios como en Get-Process | Select ProcessName, CPU.

Runbooks del flujo de trabajo de PowerShell

Los runbooks del flujo de trabajo de PowerShell son runbooks de texto basados en el flujo de trabajo de Windows PowerShell. Puede modificar directamente el código del runbook con el editor de texto en el Portal de Azure. También puede usar cualquier editor de texto sin conexión e importar el runbook en Azure Automation.

Nota

PowerShell 7.1 (versión preliminar) y PowerShell 7.2 (versión preliminar) no admiten runbooks de flujo de trabajo.

Ventajas

  • Implemente toda la lógica compleja con código del flujo de trabajo de PowerShell.
  • Use los puntos de control para reanudar la operación si se produce un error.
  • Utilice el procesamiento paralelo para realizar varias acciones en paralelo.
  • Se pueden incluir otros runbooks gráficos o de flujo de trabajo de PowerShell como runbooks secundarios para crear flujos de trabajo de alto nivel.

Limitaciones

  • Debe estar familiarizado con el flujo de trabajo de PowerShell.
  • Los runbooks deben tratar la complejidad adicional del flujo de trabajo de PowerShell como objetos deserializados.
  • Los runbooks tardan más en iniciarse que los runbooks de PowerShell, ya que deben compilarse antes de su ejecución.
  • Solo puede incluir runbooks de PowerShell como runbooks secundarios mediante el cmdlet Start-AzAutomationRunbook.
  • Los runbooks no se pueden ejecutar en una instancia de Hybrid Runbook Worker de Linux.

Runbooks de Python

Los runbooks de Python se compilan en Python 2, Python 3.8 (versión preliminar) y Python 3.10 (versión preliminar). Puede modificar directamente el código del runbook con el editor de texto en Azure Portal. También puede usar cualquier editor de texto sin conexión e importar el runbook en Azure Automation.

  • Los runbooks de Python 3.10 (versión preliminar) solo se admiten en cinco regiones para trabajos en la nube:
    • Centro-Oeste de EE. UU.
    • Este de EE. UU.
    • Norte de Sudáfrica
    • Norte de Europa
    • Sudeste de Australia

Ventajas

Nota

La importación de un paquete de Python puede tardar varios minutos.

  • Usa las sólidas bibliotecas de Python.
  • Se pueden ejecutar en Azure o en instancias de Hybrid Runbook Worker.
  • En el caso de Python 2, las instancias de Hybrid Runbook Worker de Windows son compatibles si Python2.7 está instalado.
  • Para los trabajos en la nube de Python 3.8 (versión preliminar), se admite la versión 3.8 de Python (versión preliminar). Es posible que los scripts y paquetes de cualquier versión 3.x funcionen si el código es compatible con distintas versiones.
  • En el caso de los trabajos híbridos de Python 3.8 (versión preliminar) en máquinas Windows, puede instalar cualquier versión 3. x que quiera usar.
  • Para los trabajos híbridos de Python 3.8 (versión preliminar) para Linux, depende de la versión de Python 3 instalada en el equipo para ejecutar DSC OMSConfig y Hybrid Worker para Linux. Las distintas versiones deberían funcionar si no hay cambios importantes en los contratos o firmas de método entre las versiones de Python 3.

Limitaciones

A continuación se muestran las limitaciones de los runbooks de Python

  • Debe estar familiarizado con el scripting de Python.
  • Para los módulos de Python 2.7.12, use archivos wheel cp27-amd6.
  • Para utilizar bibliotecas de terceros, debe importar los paquetes a la cuenta de Automation.
  • Azure Automation no admite sys.stderr.
  • El paquete automationassets de Python no está disponible en pypi.org, por lo que tampoco se puede importar a una máquina Windows.

Varias versiones de Python

Es aplicable a roles de Hybrid Worker en Windows. En el caso de Runbook Worker de Windows, al ejecutar un runbook de Python 2, este busca primero la variable de entorno PYTHON_2_PATH y valida si apunta a un archivo ejecutable válido. Por ejemplo, si la carpeta de instalación es C:\Python2, comprobaría si C:\Python2\python.exe es una ruta de acceso válida. Si no se encuentra, busca la variable de entorno PATH para realizar una comprobación similar.

Para Python 3, primero busca la variable env PYTHON_3_PATH y, a continuación, recurre a la variable de entorno PATH.

Cuando se usa solo una versión de Python, puede agregar la ruta de instalación a la variable PATH. Si quiere usar ambas versiones en Runbook Worker, establezca PYTHON_2_PATH y PYTHON_3_PATH en la ubicación del módulo para esas versiones.

Problemas conocidos

En el caso de los trabajos en la nube, a veces se produce un error en los trabajos de Python 3.8 con un mensaje de excepción invalid interpreter executable path. Podría ver esta excepción si el trabajo se retrasa y empieza más de 10 minutos tarde o usa Start-AutomationRunbook para iniciar runbooks de Python 3.8. Si el trabajo se retrasa, reiniciar el runbook debería ser suficiente. Los trabajos híbridos deben funcionar sin ningún problema si se usan los pasos siguientes:

  1. Cree una nueva variable de entorno denominada PYTHON_3_PATH y especifique la carpeta de instalación. Por ejemplo, si la carpeta de instalación es C:\Python3, debe agregarse esta ruta de acceso a la variable.
  2. Reinicie la máquina después de establecer la variable de entorno.

Runbooks gráficos

Puede crear y editar runbooks gráficos y runbooks gráficos de flujo de trabajo de PowerShell mediante el editor gráfico de Azure Portal. Sin embargo, no puede crear o editar este tipo de runbooks con otra herramienta. Principales características de los runbooks gráficos:

  • Se exportan a archivos de la cuenta de Automation y se importan a otra cuenta de Automation.
  • Generan código de PowerShell.
  • Se pueden convertir a y desde runbooks gráficos de flujo de trabajo de PowerShell durante la importación.

Ventajas

  • Utilice modelos de creación visual para insertar, vincular y configurar.
  • Céntrese en cómo fluyen los datos por el proceso.
  • Represente visualmente los procesos de administración.
  • Incluya otros runbooks como runbooks secundarios para crear flujos de trabajo de nivel alto.
  • Anime a usar la programación modular.

Limitaciones

  • No puede crear o editar fuera de Azure Portal.
  • Puede requerir una actividad de código que contenga código de PowerShell para ejecutar una lógica compleja.
  • No puede convertir a uno de los formatos de texto, ni puede convertir un runbook de texto a un formato gráfico.
  • No puede ver ni modificar directamente el código de PowerShell que el flujo de trabajo gráfico crea. Puede ver el código que crea en las actividades de código.
  • No puede ejecutar runbooks en Linux Runbook Worker. Consulte Automatización de recursos en los centros de datos o nube con Hybrid Runbook Worker.
  • Los runbooks gráficos no se pueden firmar digitalmente.

Pasos siguientes