Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Funciones Event

Introducción

Una Event Function es una función de tarea asíncrona que está asociada con un Event Listener. Una Event Function se crea para ejecutar una tarea o un conjunto de tareas ante la ocurrencia de un evento especificado.

El Event Listener predeterminado escucha un evento que ocurre en uno de los componentes de Catalyst y el Event Listener personalizado escucha la invocación de una URL particular. Cuando estos eventos ocurren, la Event Function asociada con esa instancia del Event Listener se invoca y ejecuta automáticamente.

No puedes invocar una Event Function manualmente ni probarla en la consola. Sin embargo, puedes usar el comando functions:shell para probarla en el CLI. También puedes generar un payload de entrada de ejemplo para una Event Function usando el comando event:generate en el CLI para probarla. El endpoint de una Event Function no es accesible a través de una URL de Function como lo son las funciones Basic I/O o Advanced I/O. Una Event Function no devuelve ninguna respuesta más que determinar si la ejecución de la función fue un éxito o un fallo.

Puedes crear una Event Function desde la consola de Catalyst y programarla allí, o usar el CLI para inicializar la función y desplegarla en la consola.

Puedes usar varias herramientas para gestionar tus Event Functions y ver sus estadísticas de rendimiento como Logs o Application Performance Monitoring, como se menciona en la página de introducción de Functions.

Puedes practicar el trabajo con Event Functions con el tutorial de Event Function o el tutorial de la app WorkDrive Sync.


Módulos de Event Function

Java

Una Event Function de Catalyst soporta dos módulos en Java: context y event.

El módulo context contiene los siguientes métodos integrados:

  1. context.getRemainingExecutionTimeMs(): Se puede usar para obtener el tiempo de ejecución restante de una función.
  2. context.getMaxExecutionTimeMs(): Este método se puede usar para obtener el tiempo máximo de ejecución de una función, que es un valor constante de 15 minutos.

El módulo event contiene los siguientes métodos integrados:

  1. event.getAction(): Para obtener la acción ejecutada en los componentes de Catalyst que activó el evento en el Event Listener predeterminado, como la inserción de datos en una tabla o un registro de usuario.
  2. event.getSourceEntityId(): Se puede usar para obtener el ID de la entidad de origen donde ocurrió el evento, como el ID de la tabla o el ID de Segment de un cache.
  3. event.getProjectDetails(): Para obtener los detalles del proyecto, como el ID del proyecto y el nombre del proyecto.
  4. event.getData(): Para obtener los datos sobre el evento asociado con la Event Function.
  5. event.getTime(): Para obtener la hora de la ocurrencia del evento que invocó la Event Function.
  6. event.getSource(): Para obtener el nombre de la fuente que activó el evento, como Data Store, Cache, Authentication, File Store, Github y web client.
  7. event.getEventBusDetails(): Para obtener los detalles del bus de eventos como las acciones de eventos configuradas y las reglas.

Cuando ejecutas una función Java, devuelve el estado de la ejecución como SUCCESS o FAILURE al final de su ejecución. El estado devuelto es de tipo com.catalyst.event.EVENT_STATUS.


Node.js

Una Event Function de Catalyst soporta dos módulos en Node.js: context y event.

El módulo context contiene los siguientes métodos integrados:

  1. context.closeWithSuccess(): Para indicar que la función se ejecutó exitosamente. Debes usar esto al final de la función.
  2. context.closeWithFailure(): Para indicar que la ejecución de la función fue un fallo. Debes usar esto al final de la función.
  3. context.getRemainingExecutionTimeMs(): Se puede usar para obtener el tiempo de ejecución restante de una función.
  4. context.getMaxExecutionTimeMs(): Este método se puede usar para obtener el tiempo máximo de ejecución de una función, que es un valor constante de 15 minutos.

El módulo event contiene los siguientes métodos integrados:

  1. event.getProjectDetails(): Para obtener los detalles del proyecto, como el ID del proyecto y el nombre del proyecto
  2. event.getData(): Para obtener los datos sobre el evento asociado con la función
  3. event.getTime(): Para obtener la hora de la ocurrencia del evento que invocó la función
  4. event.getSource(): Este método se usa para obtener el nombre de la fuente que activó el evento, como DataStore, Cache, Authentication, FileStore, Github y webclient.
  5. event.getEventBusDetails(): Para obtener los detalles del bus de eventos como las acciones de eventos configuradas y las reglas.
  6. event.getAction(): Para obtener la acción ejecutada en los componentes de Catalyst que activó el evento en el Event Listener predeterminado, como la inserción de datos en una tabla o un registro de usuario
  7. event.getSourceEntityId(): Para obtener el ID de la entidad de origen donde ocurrió el evento, como el ID de la tabla o el ID de Segment de un cache

Python

Una Event Function de Catalyst también soporta dos módulos en Python: context y event.

El módulo context contiene los siguientes métodos integrados:

  1. context.close_with_success(): Para indicar que la función se ejecutó exitosamente. Debes usar esto al final de la función.

  2. context.close_with_failure(): Para indicar que la ejecución de la función fue un fallo y debes usar esto al final de la función.

  3. context.get_remaining_execution_time_ms(): Se puede usar para obtener el tiempo de ejecución restante de una función.

  4. context.get_max_execution_time_ms(): Este método se puede usar para obtener el tiempo máximo de ejecución de una función, que es un valor constante de 15 minutos.

El módulo event contiene los siguientes métodos integrados:

  1. event.get_event_bus_details(): Para obtener los detalles del bus de eventos como las acciones de eventos configuradas y las reglas.
  2. event.get_project_details(): Para obtener los detalles del proyecto, como el ID del proyecto y el nombre del proyecto.
  3. event.get_data(): Para obtener los datos sobre el evento asociado con la Event Function.
  4. event.get_time(): Para obtener la hora de la ocurrencia del evento que invocó la función.
  5. event.get_source(): Para obtener el nombre de la fuente que activó el evento, como DataStore, Cache, Authentication, FileStore, Github y webclient.
  6. event.get_action(): Para obtener la acción ejecutada en los componentes de Catalyst que activó el evento en el Event Listener predeterminado, como la inserción de datos en una tabla o un registro de usuario.
  7. event.get_source_entity_id(): Para obtener el ID de la entidad de origen donde ocurrió el evento, como el ID de la tabla o el ID de Segment de un cache.

Última actualización 2026-03-20 21:51:56 +0530 IST