Gatillos
Gatillos son componentes que activan un flujo de integración. Estos componentes permiten que los flujos se activen por eventos específicos, como la llegada de un mensaje en una cola, la publicación de un mensaje en un tema, la recepción de un correo electrónico o la activación de un temporizador.
Vea a continuación una lista de los gatillos disponibles para flujos del tipo Source:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Consulte tambiém la descripción y un ejemplo de cada uno de ellos:
Azure Storage Blob Service
-
Descripción: el componente Azure Storage Blob Service se utiliza para almacenar y recuperar blobs (objetos binarios grandes) del servicio Azure Storage Blob utilizando las APIs de Azure v12.
-
Ejemplo
-
El flujo monitorea un contenedor en Azure Storage Blob para listar blobs (
operation:listBlobs
) disponibles. -
Cuando se detecta un nuevo blob, el flujo se conecta a un servidor FTPS para descargar archivos con la extensión
.txt
. -
Los parámetros son los siguientes:
-
username
ypassword
: credenciales para autenticación. -
includeExt
: especifica que solo se deben descargar archivos.txt
. -
delay
: el conector verifica cada 10 segundos en busca de nuevos archivos. -
passiveMode
: activa el modo pasivo para la conexión.
-
-
Después de la descarga, el contenido de los archivos se registra en el log.
-
Script |
Diagrama |
|
![]() |
AWS S3 Storage Service
-
Descripción: el componente AWS S3 Storage Service permite interactuar con el servicio Amazon S3 (Simple Storage Service) de AWS y manipular datos en buckets S3 directamente a través de las rutas de integración.
-
Ejemplo
-
El flujo se activa por nuevos eventos en un bucket S3 de AWS (
aws2-s3://bucket-s3
). -
Los parámetros indican las credenciales utilizadas (contenidas en variables) y la ubicación del bucket.
-
A continuación, el flujo registra un mensaje en el log con el contenido del archivo u objeto procesado del bucket.
-
Script |
Diagrama |
|
![]() |
AWS Simple Queue Service (SQS)
-
Descripción: el componente AWS SQS permite enviar y recibir mensajes del servicio SQS de Amazon.
-
Ejemplo
-
El flujo recibe mensajes de una cola SQS de AWS. Las credenciales de acceso (
accessKey
ysecretKey
) permiten que el flujo se autentique en AWS. -
Los mensajes recibidos se registran en el log con nivel
info
, permitiendo que vea los datos que fueron procesados.
-
Script |
Diagrama |
|
![]() |
Cron
-
Descripción: el componente Cron permite activar eventos a intervalos de tiempo específicos.
-
Ejemplo
-
El fragmento siguiente configura un gatillo cron para ser disparado todos los días al mediodía. Después, un mensaje es registrado en el log.
-
Script |
Diagrama |
|
![]() |
Expresión cron
Una expresión cron es una cadena compuesta por 6 o 7 campos separados por espacios en blanco. Los campos pueden contener cualquier valor permitido, junto con varias combinaciones de los caracteres especiales permitidos para ese campo. Los campos son los siguientes:
Nombre del campo | Obligatorio | Valores permitidos | Caracteres especiales permitidos |
---|---|---|---|
Segundos |
SÍ |
0-59 |
, - * / |
Minutos |
SÍ |
0-59 |
, - * / |
Hora |
SÍ |
0-23 |
, - * / |
Día del mes |
SÍ |
1-31 |
, - * ? / L W |
Mes |
SÍ |
1-12 o JAN-DEC |
, - * / |
Día de la semana |
SÍ |
1-7 o SUN-SAT |
, - * ? / L # |
Año |
NO |
vacío, 1970-2099 |
, - * / |
Significado de los principales caracteres especiales
Carácter especial | Significado |
---|---|
* |
Todos los valores del campo. |
? |
Sin valor específico (usado en los campos "día del mes" y "día de la semana"). Útil cuando necesita especificar algo en uno de los dos campos donde se permite el carácter, pero no en el otro. Por ejemplo, si quiero que mi gatillo se dispare en un día específico del mes (digamos, el día 10), pero no me importa en qué día de la semana ocurra, pondría “10” en el campo del día del mes y “?” en el campo del día de la semana. |
- |
Rango de valores (todos los valores incluidos en el rango). |
, |
Separador de lista de valores (solo los valores especificados). |
/ |
Valores incrementales. Por ejemplo, “0/15” en el campo segundos significa “en los segundos 0, 15, 30 y 45”. |
Ejemplos
Expresión cron | Significado |
---|---|
0 0 12 * * ? |
Se dispara a las 12h (mediodía) todos los días. |
0 15 10 * * ? 2005 |
Se dispara a las 10h15 todos los días durante el año 2005. |
0 15 10 15 * ? |
Se dispara a las 10h15 el día 15 de cada mes. |
Para más información y ejemplos, consulte: Cron Trigger Tutorial (solo en inglés).
Consulte también Cron Expression Generator (Quartz).
El soporte para especificar simultáneamente "día de la semana" y "día del mes" no está completo. Actualmente, debe usar el carácter '?' en uno de estos campos. |
Fast Healthcare Interoperability Resources (FHIR)
-
Descripción: el componente FHIR permite el intercambio estandarizado de datos de salud entre sistemas, garantizando interoperabilidad y coherencia en la comunicación. Define una estructura flexible basada en recursos (resources), que representan entidades clínicas, administrativas y financieras, permitiendo la comunicación estandarizada entre diferentes plataformas.
-
Ejemplo
-
La integración comienza con una búsqueda en un servidor FHIR que filtra los pacientes por el apellido "Simpson".
-
Después de recuperar los datos del servidor FHIR, la respuesta se envía a un endpoint REST.
-
El dato recuperado es procesado por el EIP marshal, garantizando que la respuesta esté en formato FHIR JSON.
-
La versión de FHIR utilizada es R4.
-
Script |
Diagrama |
|
![]() |
-
Orientaciones para el uso del componente FHIR
-
La respuesta del componente se insertará en el body del Exchange como un objeto Java.
-
El objeto varía según la API y la versión del protocolo utilizada.
-
Para la versión R4, el objeto estará en el paquete org.hl7.fhir.r4.model.
-
-
Para utilizar el objeto en otros componentes, es necesario convertirlo a JSON usando el EIP marshal.
-
Utilice el Data Format
fhirJson
. -
El Data Format JSON tradicional no es compatible con las clases de FHIR.
-
-
Los parámetros del componente no admiten expressions para obtener un payload del body.
-
Para ello, utilice el parámetro inBody.
-
-
No es posible usar expressions en cualquier campo.
-
Para parametrizar valores, utilice variables de entorno.
-
-
FTP/FTPS
-
Descripción: el componente FTP permite acceder a sistemas de archivos remotos mediante los protocolos FTP y SFTP. Solo funciona en modo pasivo.
FTPS es una versión segura de FTP que añade soporte para SSL/TLS para encriptar la conexión. |
-
Ejemplo
-
El flujo se conecta a un servidor FTP y descarga archivos de texto.
-
Los parámetros indican las credenciales usadas para autenticación (
username
ypassword
) y que el flujo debe filtrar e incluir solo archivos con la extensión.txt
. -
Luego, registra el contenido de esos archivos en un log.
-
Script |
Diagrama |
|
![]() |
Google Pub/Sub
-
Descripción: el componente Google Pub/Sub permite la integración con el servicio Google Cloud Pub/Sub para publicar y consumir mensajes. Es ideal para la comunicación asincrónica entre aplicaciones, facilitando el intercambio de datos en escenarios distribuidos.
-
Ejemplo
-
Se recibe un mensaje del tema
my-topic
en Google Pub/Sub. -
Los parámetros incluyen:
-
serviceAccountKey
: archivo JSON de la cuenta de servicio utilizada para la autenticación. -
destinationName
: nombre del tema en Google Pub/Sub.
-
-
El cuerpo del mensaje es transformado utilizando la expresión
simple
. Se agrega el texto "Mensaje transformado: " y el contenido se convierte a mayúsculas${body.toUpperCase()}
. -
Se registra un log con el texto "Mensaje enviado al tema Pub/Sub:" seguido del mensaje transformado.
-
Script |
Diagrama |
|
![]() |
Google Storage
-
Descripción: el componente Google Storage permite la integración con el servicio Google Cloud Storage, facilitando el almacenamiento y recuperación de objetos en buckets de Google Cloud. Puede configurarse para descargar archivos de un bucket, permitiendo que estos archivos sean consumidos y procesados en rutas de Camel.
-
Ejemplo
-
El flujo inicia con Google Storage como gatillo.
-
Descarga un archivo.
-
Luego, envía un mensaje al log.
-
Script |
Diagrama |
|
![]() |
Kafka
-
Descripción: el componente Kafka se utiliza para la comunicación con el broker de mensajes Apache Kafka.
-
Ejemplo
-
El flujo comienza al recibir mensajes del tema Kafka
my-topic
, con la configuración de brokers. -
Luego, el mensaje recibido se registra en el log para monitoreo y depuración.
-
Script |
Diagrama |
|
![]() |
IMAP/IMAPS
-
Descripción: el componente IMAP es un protocolo utilizado para recibir correos electrónicos, permitiendo el acceso a varias carpetas de correo y la manipulación de mensajes directamente en el servidor.
IMAPS es una versión segura de IMAP que transmite datos encriptados utilizando SSL/TLS. |
-
Ejemplo
-
El flujo está configurado para conectarse a una cuenta de correo electrónico usando el protocolo IMAP en el servidor de Gmail (
imap.gmail.com
) en el puerto 993. -
Parámetros de la URI:
-
el flujo utiliza las credenciales proporcionadas (
username
ypassword
) para autenticación; -
está configurado para no eliminar correos electrónicos (
delete=false
); -
está configurado para buscar solo mensajes no leídos (
unseen=true
); -
existe un retraso de 60 segundos (
delay=60000
), lo que significa que verificará nuevos correos electrónicos cada minuto.
-
-
Cuando se encuentra un nuevo correo electrónico, el contenido completo del correo se registra en un log.
-
Script |
Diagrama |
|
![]() |
POP3/POP3S
-
Descripción: el componente POP3 se utiliza para recuperar correos electrónicos de servidores POP3, permitiendo que Camel acceda a la bandeja de entrada, lea los mensajes y los procese automáticamente en un flujo de integración.
POP3S es una versión segura de POP3 que transmite datos encriptados utilizando SSL/TLS. |
-
Ejemplo
-
El código muestra una conexión con un servidor de correo electrónico usando el protocolo POP3 seguro (POP3S) para acceder a una cuenta de Gmail.
-
Parámetros de la URI:
-
username=yourusername
: nombre de usuario; -
password=yourpassword
: contraseña; -
delete=false
: especifica que los mensajes no deben ser eliminados del servidor después de ser leídos; -
unseen=true
: indica que solo deben recuperarse los mensajes que aún no han sido leídos; -
delay=60000
: define un retraso de 60 segundos entre cada intento de recuperación de nuevos mensajes.
-
-
Script |
Diagrama |
|
![]() |
SMTP/SMTPS
-
Descripción: el componente SMTP se utiliza para enviar correos electrónicos a servidores SMTP, permitiendo que Camel envíe mensajes con contenido personalizado, archivos adjuntos y destinatarios en un flujo de integración.
SMTPS es una versión segura de SMTP que transmite datos cifrados utilizando SSL/TLS. |
-
Ejemplo
-
El flujo utiliza las credenciales proporcionadas para autenticar en el servidor de correos electrónicos de Gmail, permitiendo la recepción de mensajes.
-
Parámetros de la URI:
-
username: "yourusername"
: el nombre de usuario de la cuenta de Gmail que se está utilizando para la autenticación. -
password: "yourpassword"
: la contraseña de la cuenta de Gmail. -
mail.smtp.auth: "auth"
: este parámetro indica que se debe usar la autenticación SMTP. -
mail.smtp.starttls.enable: "starttls"
: este parámetro habilita STARTTLS, un mecanismo para actualizar una conexión insegura a una conexión segura mediante TLS.
-
-
Después de la recepción, todos los detalles del correo electrónico se registran en el log, facilitando la monitoreo y depuración.
-
Script |
Diagrama |
|
![]() |
Paho
-
Descripción: el componente Paho permite la integración de aplicaciones con el protocolo MQTT, facilitando la comunicación entre dispositivos y sistemas en entornos de Internet de las Cosas (IoT).
-
Ejemplo
-
El flujo comienza suscribiéndose al tema
sensor/temperature
en un broker MQTT, utilizando una conexión segura a través de SSL en la URLbroker.brokername.com:8883
. -
Registra en el log un mensaje con el contenido recibido:
Got message ${body}.
-
Si un mensaje con el contenido
"Sensor data: 24°C"
es publicado en el temasensor/temperature
, el log registrará:"Got message Sensor data: 24°C"
.
-
Script |
Diagrama |
|
![]() |
Paho MQTT5
-
Descripción: el componente Paho MQTT5 permite la integración de aplicaciones con el protocolo MQTT (versión 5), ofreciendo características avanzadas de mensajería, como sesiones persistentes y control de flujo.
-
Ejemplo
-
El flujo es idéntico al flujo descrito para el componente Paho, con la diferencia de que este utiliza la versión 5 del protocolo MQTT.
-
Script |
Diagrama |
|
![]() |
Quartz
-
Descripción: el componente Quartz permite programar y activar eventos basados en expresiones cron. Permite configurar tareas para que se activen en horarios regulares, como cada minuto, hora o día, utilizando la sintaxis cron estándar.
Ver gatillo Cron. |
-
Ejemplo
-
Un flujo es activado todos los días al mediodía. Después se registra un mensaje en el log.
-
Script |
Diagrama |
|
![]() |
REST
-
Descripción: el componente REST permite crear y gestionar endpoints RESTful, facilitando la comunicación entre aplicaciones a través del protocolo HTTP. Permite la definición de rutas que responden a solicitudes HTTP (como
GET
,POST
,PUT
yDELETE
), procesando datos, invocando servicios y manipulando información. -
Ejemplo
-
El flujo comienza con una solicitud
POST
en/demo
. -
No hay parámetros adicionales, lo que indica que se utilizarán las configuraciones predeterminadas del endpoint.
-
Después se registra un mensaje en el log.
-
Script |
Diagrama |
|
![]() |
Scheduler
-
Descripción: el componente Scheduler se utiliza para generar intercambios de mensajes cuando un programador activa un evento.
-
Ejemplo
-
En el fragmento a continuación, la URI muestra un programador llamado
mySchedulerName
, que se activa cada 60 segundos. -
Después se registra un mensaje en el log.
-
Script |
Diagrama |
|
![]() |
SFTP
-
Descripción: el componente SFTP proporciona acceso a sistemas de archivos remotos a través de los protocolos FTP y SFTP. Funciona solo en modo pasivo.
-
Ejemplo
-
El flujo lee archivos
.txt
de un servidor SFTP especificado, utilizando un nombre de usuario y una contraseña para autenticación. -
Después de la descarga, el contenido de los archivos se envía a un log para su registro.
-
Script |
Diagrama |
|
![]() |
Slack
-
Descripción: el componente Slack permite enviar mensajes, notificaciones y alertas a canales o usuarios de Slack directamente desde sus flujos de integración.
-
Ejemplo
-
El flujo escucha mensajes en el canal de Slack especificado.
-
El token de autenticación de Slack está incluido en los parámetros.
-
Cuando se recibe un mensaje, se captura y se registra en el log con el contenido.
-
Script |
Diagrama |
|
![]() |
Timer
-
Descripción: el componente Timer se utiliza para generar intercambios de mensajes cuando un temporizador se activa.
-
Ejemplo
-
En el fragmento a continuación, la URI muestra un temporizador llamado
mytimer
, que se activa cada 30 segundos (30.000 milisegundos).
-
Script |
Diagrama |
|
![]() |
Share your suggestions with us!
Click here and then [+ Submit idea]