ArcGIS Notebook Server le permite implementar varios métodos de automatización de flujos de trabajo, incluida la automatización a través de notebooks programados, webhooks y sus propios scripts personalizados con la API administrativa Ejecutar notebook.
Nota:
Para automatizar un notebook con tareas programadas, webhooks o la API Ejecutar notebook, el notebook debe usar un tiempo de ejecución de la versión 3.0 o posterior.
Programar tareas de notebook
A partir de la versión 10.8.1, los autores de notebooks pueden programar ArcGIS Notebooks para su ejecución automática en un momento dado en el futuro, ya sea una vez o de forma recurrente. La creación de tareas para programar notebooks permite automatizar flujos de trabajo rutinarios, ejecutar procesos intensivos en datos fuera de las horas punta de uso y actualizar datasets regularmente. Por ejemplo, puede programar un notebook para hacer lo siguiente:
- Importar datos de una fuente en línea actualizada mensualmente, limpiar automáticamente los datos y aplicar las transformaciones necesarias y mover los datos a su espacio de trabajo.
- Ejecutar un flujo de trabajo de análisis de big data que requiera una gran potencia de procesamiento durante la noche, cuando los recursos de su equipo no se utilicen.
- Administrar los usuarios que hayan creado cuentas en su portal durante la semana anterior y enviarse la lista de los mismos por correo electrónico.
Puede crear una o varias tareas para un notebook. De forma predeterminada, el autor o administrador del notebook puede crear un máximo de 20 tareas. Si se cambia la propiedad del notebook, las tareas asociadas a ese notebook se desactivarán y se asignarán al nuevo propietario.
Las tareas programadas le permiten parametrizar notebooks. Cuando un notebook está parametrizado, le permite escribir código genérico que se puede adaptar a distintas entradas sin su interacción. Los parámetros elegidos se insertan en el notebook cuando se ejecuta una tarea y se pueden guardar opcionalmente en el notebook. Por ejemplo, un notebook parametrizado se puede usar para generar informes de contaminación del aire a nivel de región de forma recurrente. El notebook puede tener varias tareas programadas, una para cada región que se estudiará y, para cada tarea, se pueden introducir entradas parametrizadas en el notebook, como el nombre de la ciudad y el tipo de contaminación.
Nota:
La propiedad del sistema maxExecuteNotebookContainersPerNode limita el número de ejecuciones simultáneas de las tareas de notebook en Notebook Server.
Puede configurar la tarea para guardar el estado del notebook en el elemento de notebook original una vez completada.
Se guardará una vista HTML estática del notebook para cada tarea programada que se ejecute. De forma predeterminada, solo se guardarán los resultados de las últimas 30 ejecuciones.
Mediante la página Tareas de ArcGIS Notebook Server Manager, los administradores pueden ver detalles, editar, poner en pausa, reanudar o eliminar cada tarea del notebook activa en el sitio. Los administradores y autores de notebooks con el privilegio programado del notebook pueden ver detalles, editar, pausar y reanudar, o eliminar una tarea del notebook en la página de detalles del notebook o en el panel de tareas del editor del notebook.
Para evitar ejecuciones repetidas de un notebook, una tarea programada se deshabilitará después de cinco fallos consecutivos. El propietario de la tarea debe asegurarse de que el notebook se puede ejecutar correctamente sin que intervenga el usuario antes de reactivar la tarea.
Si aún se está ejecutando una ejecución anterior de una tarea, se omitirá la ejecución de una nueva tarea programada. Por ejemplo, si una tarea está programada para ejecutarse cada 15 minutos, pero una instancia de esa tarea se ejecuta durante 20 minutos, se omitirá la siguiente ejecución programada. Si esto ocurre regularmente, el propietario de la tarea debe ajustar el intervalo de tiempo programado para que no se ejecute ninguna superposición entre ellas.
Para obtener más información sobre las tareas programadas de notebook, consulte el tema de ayuda Programar una tarea de notebook.
Automatizar un notebook con webhooks
Un webhook es un mecanismo que permite que una aplicación proporcione información basada en eventos a otras aplicaciones. Como administrador de ArcGIS Enterprise Portal, puede crear, administrar y configurar webhooks. Puede configurar los webhooks para que ejecuten automáticamente un notebook cuando sucedan eventos asociados con los elementos, grupos o usuarios del portal. Una vez desencadenado un webhook, se realiza una solicitud HTTP a Notebook Server para ejecutar un notebook elegido sin ninguna interacción del usuario.
Nota:
La propiedad del sistema maxExecuteNotebookContainersPerNode limita el número de ejecuciones simultáneas de notebooks a través de webhooks en Notebook Server.
Crear un webhook
Los webhooks solo se pueden administrar mediante el Directorio de Portal for ArcGIS (API de uso compartido). Siga estos pasos para crear un webhook:
- Vaya al Directorio de Portal for ArcGIS.https://machine.domain.com/webadaptor/sharing/rest
- Inicie sesión como administrador.
Solo los administradores pueden crear y administrar webhooks.
Aparece la página de usuario administrador.
- Haga clic en el hipervínculo ID de organización o realice una solicitud del siguiente formulario para ir a la página del recurso Portal Self.https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
- Desplácese al final de la página, a Webhooks, en Recursos secundarios.https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
- En Operación compatible, seleccione Crear webhook.
- Especifique los parámetros de su webhook. Para crear un webhook automatizando un notebook, proporcione la siguiente información:
Parámetro Detalles name (Requerido)
Especifica el nombre del webhook.
Ejemplo: name=mynotebook_webhook
url (Opcional)
La URL de carga no es necesaria al configurar un webhook para notebooks, ya que el sistema la obtendrá automáticamente. No es necesario que proporcione esta información.
config (Requerido)
Define las propiedades de configuración de su webhook.
Nota:
Debe ser administrador y ser propietario del elemento de notebook para que se ejecute mediante webhook.
Ejemplo:
{ "deactivationPolicy": { "numberOfFailures": 5, "daysInPast": 5 }, "properties": { "federatedServer": { "itemId": "<Notebook item id to be executed>", "tokenTypeToSend": "owner", "tokenExpirationTimeMinutes": 10 } } }
events (Opcional)
La representación URI de un evento que desencadenará el webhook. Este parámetro es obligatorio si changes se especificó como manual. Para obtener más información, consulte la sección Eventos desencadenadores compatibles. Para ver ejemplos adicionales de eventos desencadenadores, consulte la sección Eventos desencadenadores de Crear webhooks en la documentación de la API REST.
Ejemplo:
events=/items,/users
Consulte la documentación de la API REST de los webhooks para obtener más información sobre estos parámetros.
Ahora su webhook aparece con los demás: https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks.
Para obtener más información sobre la automatización mediante webhooks, consulte el tema de ayuda Webhooks en ArcGIS Enterprise.
Administrar webhooks
Puede administrar sus webhooks mediante el Directorio de Portal for ArcGIS si realiza una solicitud del siguiente formulario:
Las operaciones compatibles para administrar sus webhook son:
- Update Webhook: actualiza los parámetros del webhook. Puede actualizar el nombre, la URL de carga, la configuración o los eventos desencadenadores del webhook especificado.
- Delete Webhook: elimina el webhook del portal.
- Deactivate Webhook y Activate Webhook: desactiva el webhook, lo que detiene el envío de las cargas cuando se ha desencadenado el webhook. Cuando se desactiva el webhook, la operación Activar webhook está disponible para reanudar el envío de cargas.
La página Notification Status muestra información relacionada con los eventos desencadenadores asociados con el webhook específico. Puede usar esta tabla para supervisar el webhook y los detalles de las cargas enviadas, por ejemplo, la hora a la que se desencadenó el webhook y las respuestas recibidas de la URL de carga, así como la carga enviada. Los registros que indican el envío correcto de una carga se eliminan a las 24 horas. Los registros que indican un envío fallido se almacenan durante siete días.
Consulte la API de webhooks para ver ejemplos de estas operaciones.
Para obtener más información sobre la automatización mediante webhooks, consulte el tema de ayuda Webhooks en ArcGIS Enterprise.
Carga de webhooks
Cuando se ejecuta un notebook mediante un webhook, la información de carga del webhook se introduce automáticamente en el notebook en una celda inicial. Una vez introducida, la información proporcionada en la carga de webhooks se puede utilizar en el notebook para más flujos de trabajo de automatización.
Información de carga de webhooks incluida en un notebook:{
"properties": {
"itemId": "<itemId of the current notebook>"
},
"events": [
{
"source": "items",
"id": "<itemId of the item that resulted in webhook trigger>",
"userId": "<webhook user>",
"when": \<epoch time in ms when webhook was triggered\>,
"operation": "<type of operation that resulted in webhook trigger>",
"properties": {},
"username": "<webhook username>"
}
],
"info": {
"webhookId": "<webhookId>",
"portalURL": "<public portal url>",
"webhookName": "<webhook name>",
"when": \<epoch time in ms when webhook was triggered\>,
}
}
Ejecutar la API del notebook
Los administradores y los creadores de notebooks también pueden automatizar un notebook para que se ejecute sin interacción del usuario con la operación Ejecutar notebook en el Directorio de administrador de ArcGIS Notebook Server. Esta operación ejecutará automáticamente un notebook cuando se invoque, pero si utiliza su propio script personalizado, puede programar que se ejecute de forma automática a una hora determinada o en un horario regular. También puede utilizar un trabajo de cron o un programador de Windows para programar que la operación Ejecutar notebook se ejecute a una hora determinada o según un intervalo recurrente.
Para más información, consulte el tema Ejecutar notebook en la guía de referencia del Directorio de administrador.
Máximo de ejecuciones automáticas y concurrentes de notebooks
Cuando un notebook se ejecuta a través de una tarea programada, webhook o la API Ejecutar notebook, ArcGIS Notebook Server abre un nuevo contenedor y ejecuta el notebook automáticamente sin ninguna interacción de usuario. De forma predeterminada, ArcGIS Notebook Server está configurado para ejecutar un máximo de 10 notebooks concurrentes por cada equipo de Notebook Server. Teniendo en cuenta los recursos (CPU y RAM) disponibles en cada equipo del sitio de Notebook Server, el administrador puede ajustar este límite modificando la propiedad del sistema maxExecuteNotebookContainersPerNode en Notebook Server.