Un webhook es un mecanismo que permite que una aplicación proporcione información basada en eventos a otras aplicaciones. Los webhooks se pueden configurar a nivel de organización y de servicio para ejecutar automáticamente un notebook cuando se producen eventos asociados a su organización o servicios.
Automatizar un notebook con webhooks de la organización
Como administrador de ArcGIS Enterprise o como usuario con el privilegio de webhooks de organización, 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. ArcGIS Notebook Server actúa como el receptor de la carga del webhook. Una vez desencadenado un webhook, se realiza una solicitud HTTP a ArcGIS 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 concurrentes desde notebooks desde webhooks en ArcGIS Notebook Server.
Crear un webhook de organización
Los webhooks se pueden administrar desde la página Configuración de la organización. Siga estos pasos para crear un webhook:
- Inicie sesión como administrador predeterminado o con un rol personalizado con el privilegio de webhooks de la organización.
- Haga clic en Organización > Configuración > Webhooks.
- En la sección Webhooks de organización, haga clic en Crear webhook.
- Especifique un nombre de webhook.
- Seleccione el tipo de evento que desencadenará el webhook.
De forma predeterminada, se consideran todos los tipos de eventos (Elementos, Usuarios, Grupos y Roles).
Consulte Eventos desencadenadores compatibles para obtener más información.
- Seleccione Notebook como tipo de carga.
Nota:
Si la opción Notebook no está disponible, Notebook Server no se ha configurado con su portal. Si la opción Notebook está disponible, pero no se puede seleccionar, no posee ningún notebook que esté disponible para configurar webhooks. Debe ser el propietario del elemento de notebook que se utilizará para el webhook. - Seleccione el notebook que se ejecutará cuando se desencadene el webhook.
- Si lo desea, introduzca una clave Secreto que se incluirá en la carga del webhook.
También puede optar por usar valores generados de forma aleatoria para la clave Secreto.
- Haga clic en Crear webhook para guardar la configuración del webhook y crear un webhook.
Administrar webhooks de organización
Los webhooks se pueden administrar desde la página Configuración de la organización. Siga estos pasos para administrar los webhooks existentes:
- Inicie sesión como administrador predeterminado o con un rol personalizado con el privilegio de webhooks de la organización.
- Haga clic en Organización > Configuración > Webhooks para ver una lista de webhooks de la organización creados por usted y por otros administradores de webhooks.
Puede administrar sus webhooks existentes con las siguientes operaciones.
- Desactivar webhook: cuando un webhook esté en un estado activo, haga clic en Activo. La desactivación del webhook impide que se entreguen las cargas útiles cuando se desencadena el webhook.
- Activar webhook: cuando un webhook esté en un estado inactivo, haga clic en Inactivo. Una vez que se ha activado un webhook, reanudará la entrega de cargas.
- Editar webhook: haga clic en el botón de opciones del webhook y luego en Editar para actualizar su webhook.
- Eliminar webhook: haga clic en el botón de opciones del webhook y haga clic en Eliminar. Haga clic en Confirmar para eliminar el webhook.
Modificar la configuración avanzada de los webhooks de la organización
Utilice Configuración de webhooks avanzada para cambiar propiedades como el número de intentos de entrega que se pueden realizar, notificaciones para el tiempo transcurrido y propiedades de tiempo de espera de notificación para webhooks. Esta configuración avanzada se aplicará a todos los webhooks de su organización. Para modificar la configuración de webhooks avanzada, siga estos pasos:
- Inicie sesión como administrador predeterminado o con un rol personalizado con el privilegio de webhooks de la organización.
- Haga clic en Organización > Configuración > Webhooks.
- En la sección Webhooks de organización, haga clic en Configuración avanzada para modificar los valores predeterminados de las propiedades de avanzadas de los webhooks.
Carga de webhooks de organización
Cuando se ejecuta un notebook desde 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:
webhookPayload = {
"properties": {
"itemId": "<notebook_item_id>"
},
"events": [
{
"source": "<items | user | group | role>",
"id": "<source_id>",
"userId": "<user_id_of_member_triggered_webhook>",
"when": 1742596800000,
"operation": "<operation_triggered_webhook>",
"properties": {"<operation_details>"},
"username": "<username_of_member_triggered_webhook>"
}
],
"info": {
"webhookId": "<webhook_id>",
"portalURL": "<portal_url>",
"webhookName": "<webhook_name>",
"when": 1742596805000
}
}
Automatizar un notebook con webhooks de servicio
Los webhooks, incluidos los de servicios de geoprocesamiento asíncronos, servicios de entidades y otros webhooks genéricos, pueden activar una ejecución de notebook en respuesta a eventos específicos Los administradores pueden registrar la URL de un receptor de webhook como URL de enlace o carga correspondiente a estos webhooks. Cuando se activa un evento específico asociado con un webhook, se llamará automáticamente a la URL del receptor de webhook del notebook, lo que inicia la ejecución del notebook correspondiente.
En las secciones siguientes se describe cómo configurar un receptor de webhook del notebook en ArcGIS Notebook Server.
Crear y copiar una clave de API
Las claves de API son tokens de larga duración que autorizan a un webhook de servicio a que ejecute un elemento de notebook asociado y acceda de forma segura a las capacidades y funcionalidades de ArcGIS Enterprise que se requieren para que se ejecute el notebook.
Las claves de API se generan utilizando credenciales de claves de API, un tipo de elemento alojado en la organización. Las credenciales de clave de API contienen ajustes que permiten generar claves de API y gestionar propiedades como sus privilegios y fecha de caducidad. El proceso de creación de credenciales de clave de API y el uso de claves de API en la aplicación se conoce como autenticación con clave de API.
Para crear y copiar una clave de API, siga estos pasos:
- Inicie sesión en su portal como usuario administrativo.
- Haga clic en la página Detalles de elemento del elemento de clave de API.
- Siga los pasos del tutorial Crear una clave de API para saber cómo crear y copiar una clave de API. Conceda los privilegios Crear y editar notebooks, Crear, Actualizar y Eliminar elemento; si lo desea, conceda el privilegio Advanced notebook para ArcPy.
Puede que se requieran privilegios adicionales en función de los flujos de trabajo realizados en el notebook.
Registrar un receptor de webhook de notebook
Para registrar un receptor de webhook de notebook, realice los pasos siguientes:
- Inicie sesión en su portal como administrador.
- Haga clic en Organización > Configuración > Webhooks > Crear receptor de webhooks.
- Escriba un nombre para su receptor de webhooks.
- Seleccione el notebook en el que se ejecutará el receptor de webhooks.
- Introduzca una clave secreta de 32 caracteres que se utilizará para garantizar el origen del webhook.
- Introduzca una lista separada por comas de los encabezados de firma que se comprobarán en busca de una carga útil cifrada.
- Introduzca el token de API con privilegios para acceder al elemento del notebook, privilegios para crear notebooks/crear notebooks avanzados y cualquier otra funcionalidad SIG del notebook.
- Si lo desea, introduzca los parámetros en formato JSON.
- Haga clic en Crear receptor.
Crear un webhook de servicio de geoprocesamiento asíncrono o de servicio de entidades
Para crear un webhook de servicio de geoprocesamiento asíncrono o de servicio de entidades, realice los pasos siguientes:
- Utilice la URL del receptor de webhook, encabezados secretos y encabezados de firma para crear un webhook de servicio.
- Corrobore que el notebook asociado con el receptor de webhook del notebook se ejecuta cada vez que se activa un evento de webhook de servicio específico.
Carga de webhooks de servicio
Cuando se ejecuta un notebook desde 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.
Webhooks de servicio de entidades
El código siguiente es un ejemplo de carga de webhook de servicio de entidades.
webhookPayload = {
"serviceType": "FeatureServer",
"changesUrl": "<change_url>",
"name": "<webhook_name>",
"id": "<webhook_id>",
"folderName": "<folder_name>",
"serviceName": "<service_name>",
"events": [
{
"eventType": "FeaturesCreated",
"when": 1740436800000
},
{
"eventType": "FeaturesDeleted",
"when": 1740436810000
},
{
"eventType": "FeaturesUpdated",
"when": 1740436820000
}
]
}
Webhooks de servicio de geoprocesamiento
El código siguiente es un ejemplo de carga de webhook de servicio de geoprocesamiento.
webhookPayload = {
"serviceType": "GPServer",
"jobId": "<job_id>",
"statusURL": "<status_url>",
"name": "<webhook_name>",
"taskName": "<task_name>",
"folderName": "<folder_name>",
"serviceName": "<service_name>",
"events": [
{
"eventType": "esriJobSucceeded",
"when": 1742337000000
}
]
}