Gatilhos
Gatilhos são eventos que iniciam a execução de um fluxo de integração. Eles podem ser acionados por uma variedade de fontes, como serviços de armazenamento em nuvem, mensagens, e-mails, protocolos de comunicação, agendadores e muito mais.
Veja abaixo uma lista de gatilhos disponíveis para fluxos do tipo Source:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Consulte também a descrição e um exemplo de cada um deles:
Azure Storage Blob Service
-
Descrição: o componente Azure Storage Blob Service é usado para armazenar e recuperar blobs (objeto binário grande) do serviço Azure Storage Blob usando APIs do Azure v12.
-
Exemplo
-
Este fluxo monitora um contêiner no Azure Storage Blob para listar blobs (
operation:listBlobs
) disponíveis. -
Quando um novo blob é detectado, o fluxo se conecta a um servidor FTPS para baixar arquivos com a extensão
.txt
. -
Os parâmetros são os seguintes:
-
username
epassword
: credenciais para autenticação. -
includeExt
: especifica que apenas arquivos.txt
devem ser baixados. -
delay
: o conector verifica a cada 10 segundos por novos arquivos. -
passiveMode
: ativa o modo passivo para a conexão.
-
-
Após o download, o conteúdo dos arquivos é registrado no log.
-
Script |
Diagrama |
|
![]() |
AWS S3 Storage Service
-
Descrição: o componente AWS S3 Storage Service permite que você interaja com o serviço Amazon S3 (Simple Storage Service) da AWS e manipule dados em buckets S3 diretamente através das rotas de integração.
-
Exemplo
-
O fluxo é ativado por novos eventos em um bucket S3 da AWS (
aws2-s3://bucket-s3
). -
Os parâmetros indicam as credenciais utilizadas (contidas em variáveis) e a localização do bucket.
-
Em seguida, o fluxo registra uma mensagem no log com o conteúdo do arquivo ou objeto processado do bucket.
-
Script |
Diagrama |
|
![]() |
AWS Simple Queue Service (SQS)
-
Descrição: o componente AWS SQS oferece suporte ao envio e recebimento de mensagens para o serviço SQS da Amazon.
-
Exemplo
-
O fluxo recebe mensagens de uma fila SQS da AWS. As credenciais de acesso (
accessKey
esecretKey
) permitem que o fluxo se autentique na AWS. -
As mensagens recebidas são registradas no log com nível
info
, permitindo que você visualize os dados que foram processados.
-
Script |
Diagrama |
|
![]() |
Cron
-
Descrição: o componente Cron permite acionar eventos em intervalos de tempo específicos.
-
Exemplo
-
O trecho abaixo configura um gatilho cron para ser disparado todos os dias ao meio-dia. Depois uma mensagem é registrada no log.
-
Script |
Diagrama |
|
![]() |
Expressão cron
Uma expressão cron é uma string composta por 6 ou 7 campos separados por espaços em branco. Os campos podem conter quaisquer valores permitidos, juntamente com várias combinações dos caracteres especiais permitidos para aquele campo. Os campos são os seguintes:
Nome do campo | Obrigatório | Valores permitidos | Caracteres especiais permitidos |
---|---|---|---|
Segundos |
SIM |
0-59 |
, - * / |
Minutos |
SIM |
0-59 |
, - * / |
Hora |
SIM |
0-23 |
, - * / |
Dia do mês |
SIM |
1-31 |
, - * ? / L W |
Mês |
SIM |
1-12 ou JAN-DEC |
, - * / |
Dia da semana |
SIM |
1-7 ou SUN-SAT |
, - * ? / L # |
Ano |
NÃO |
vazio, 1970-2099 |
, - * / |
Significado dos principais caracteres especiais
Caracter especial | Significado |
---|---|
* |
Todos os valores do campo. |
? |
Sem valor específico (usado em campos de "dia do mês" e "dia da semana"). Útil quando você precisa especificar algo em um dos dois campos nos quais o caracter é permitido, mas não no outro. Por exemplo, se eu quiser que meu gatilho dispare em um dia específico do mês (digamos, no dia 10), mas não me importar em qual dia da semana isso acontecerá, eu colocaria “10” no campo do dia do mês e “?” no campo do dia da semana. |
- |
Faixa de valores (todos os valores incluídos na faixa). |
, |
Separador de lista de valores (somente os valores especificados). |
/ |
Valores incrementais. Por exemplo, “0/15” no campo segundos significa “nos segundos 0, 15, 30 e 45”. |
Exemplos
Expressão cron | Significado |
---|---|
0 0 12 * * ? |
Dispara às 12h (meio-dia) todos os dias |
0 15 10 * * ? 2005 |
Dispara às 10h15 todos os dias durante o ano de 2005. |
0 15 10 15 * ? |
Dispara às 10h15 no 15º dia de cada mês. |
Para mais informações e exemplos, acesse: Cron Trigger Tutorial (somente em inglês).
Confira também Cron Expression Generator (Quartz).
O suporte para especificar simultaneamente "dia da semana" e "dia do mês" não está completo. Atualmente, você deve usar o caracter '?' em um desses campos. |
Fast Healthcare Interoperability Resources (FHIR)
-
Descrição: o componente FHIR permite a troca padronizada de dados de saúde entre sistemas, garantindo interoperabilidade e consistência na comunicação. Ele define uma estrutura flexível baseada em recursos (resources), que representam entidades clínicas, administrativas e financeiras, permitindo a comunicação padronizada entre diferentes plataformas.
-
Exemplo
-
A integração começa com uma pesquisa em um servidor FHIR que filtra os pacientes pelo sobrenome "Simpson".
-
Após recuperar os dados do servidor FHIR, a resposta é enviada para um endpoint REST.
-
O dado recuperado é processado pelo EIP marshal, garantindo que a resposta seja formatada em FHIR JSON.
-
A versão FHIR usada é R4.
-
Script |
Diagrama |
|
![]() |
-
Orientações para uso do componente FHIR
-
A resposta do componente será inserida no body da Exchange como um objeto Java.
-
O objeto varia conforme a API e a versão do protocolo utilizada.
-
Para a versão R4, o objeto estará no pacote org.hl7.fhir.r4.model.
-
-
Para utilizar o objeto em outros componentes, é necessário convertê-lo para JSON usando o EIP marshal.
-
Utilize o Data Format
fhirJson
. -
O Data Format JSON tradicional não é compatível com as classes do FHIR.
-
-
Os parâmetros do componente não suportam expressions para obter um payload do body.
-
Para isso, utilize o parâmetro inBody.
-
-
Expressions não podem ser usadas em qualquer campo.
-
Para parametrizar valores, utilize variáveis de ambiente.
-
-
FTP/FTPS
-
Descrição: o componente FTP fornece acesso a sistemas de arquivos remotos através dos protocolos FTP e SFTP. Funcionamento apenas no modo passivo.
O FTPS é uma versão segura do FTP, que adiciona suporte para SSL/TLS para criptografar a conexão. |
-
Exemplo
-
O fluxo se conecta a um servidor FTP e faz o download de arquivos de texto.
-
Os parâmetros indicam as credenciais usadas para autenticação (
username
epassword
) e que o texto deve filtrar e incluir apenas arquivos com a extensão.txt.
-
O fluxo inclui um atraso de 10 segundos entre as tentativas de download e opera em modo passivo.
-
Depois, registra o conteúdo desses arquivos em um log.
-
Script |
Diagrama |
|
![]() |
Google Pub/Sub
-
Descrição: o componente Google Pub/Sub permite a integração com o serviço Google Cloud Pub/Sub para publicar e consumir mensagens. Ele é ideal para comunicação assíncrona entre aplicações, facilitando a troca de dados em cenários distribuídos.
-
Exemplo
-
Uma mensagem é recebida do tópico
my-topic
no Google Pub/Sub. -
Os parâmetros incluem:
-
serviceAccountKey
: arquivo JSON da conta de serviço usada para autenticação. -
destinationName
: nome do tópico no Google Pub/Sub.
-
-
O corpo da mensagem é transformado usando a expressão
simple
. Adiciona-se o texto "Mensagem transformada: " e o conteúdo é convertido para maiúsculas${body.toUpperCase()}
. -
Um log é registrado com o texto "Mensagem enviada para o tópico Pub/Sub:" seguido da mensagem transformada.
-
Script |
Diagrama |
|
![]() |
Google Storage
-
Descrição: o componente Google Storage permite a integração com o serviço Google Cloud Storage, facilitando o armazenamento e recuperação de objetos em buckets do Google Cloud. Ele pode ser configurado para realizar o download de arquivos de um bucket, permitindo que esses arquivos sejam consumidos e processados em rotas do Camel.
-
Exemplo
-
O fluxo inicia com o Google Storage como gatilho.
-
Faz o download de um arquivo.
-
E depois envia uma mensagem para o log.
-
Script |
Diagrama |
|
![]() |
Kafka
-
Descrição: o componente Kafka é usado para comunicação com o broker de mensagens Apache Kafka.
-
Exemplo
-
O fluxo inicia ao receber mensagens do tópico Kafka
my-topic
, com a configuração de brokers. -
Depois a mensagem recebida é registrada no log para monitoramento e depuração.
-
Script |
Diagrama |
|
![]() |
IMAP/IMAPS
-
Descrição: o componentes IMAP é um protocolo utilizado para receber emails, permitindo o acesso a várias pastas de correio e a manipulação de mensagens diretamente no servidor.
O IMAPS é uma versão segura do IMAP que transmite dados criptografados usando SSL/TLS. -
Exemplo
-
O fluxo é configurado para se conectar a uma conta de email usando o protocolo IMAP no servidor do Gmail (
imap.gmail.com
) na porta 993. -
Parâmetros da URI:
-
o fluxo utiliza as credenciais fornecidas (
username
epassword
) para autenticação; -
está configurado para não excluir emails (
delete=false
); -
está configurado para buscar apenas mensagens não lidas (
unseen=true
).; -
existe um atraso de 60 segundos (
delay=60000
), o que significa que ele irá verificar novos emails a cada minuto.
-
-
Quando um novo email é encontrado, o conteúdo completo do email é registrado em um log.
-
Script |
Diagrama |
|
![]() |
POP3/POP3S
-
Descrição: o componente POP3 é utilizado para recuperar e-mails de servidores POP3, permitindo que o Camel acesse a caixa de entrada, leia as mensagens e as processe automaticamente em um fluxo de integração.
O POP3S é uma versão segura do POP3 que transmite dados criptografados usando SSL/TLS. -
Exemplo
-
O código mostra uma conexão com um servidor de email usando o protocolo POP3 seguro (POP3S) para acessar uma conta do Gmail.
-
Parâmetros da URI:
-
username=yourusername
: nome do usuário; -
password=yourpassword
: senha; -
delete=false
: especifica que as mensagens não devem ser deletadas do servidor após serem lidas; -
unseen=true
: indica que apenas as mensagens que ainda não foram lidas devem ser recuperadas; -
delay=60000
: define um atraso de 60 segundos entre cada tentativa de recuperação de novas mensagens.
-
-
Script |
Diagrama |
|
![]() |
SMTP/SMTPS
-
Descrição: o componente SMTP é utilizado para enviar e-mails a servidores SMTP, permitindo que o Camel envie mensagens com conteúdo personalizado, anexos e destinatários em um fluxo de integração.
O SMTPS é uma versão segura do SMTP que transmite dados criptografados usando SSL/TLS. |
-
Exemplo
-
O fluxo utiliza as credenciais fornecidas para autenticar no servidor de e-mails do Gmail, permitindo a recepção de mensagens.
-
Parâmetros da URI:
-
username: "yourusername"
: o nome de usuário da conta do Gmail que está sendo usada para autenticação. -
password: "yourpassword"
: a senha da conta do Gmail. -
mail.smtp.auth: "auth"
: este parâmetro indica que a autenticação SMTP deve ser utilizada. -
mail.smtp.starttls.enable: "starttls"
: este parâmetro habilita o STARTTLS, um mecanismo para atualizar uma conexão insegura para uma conexão segura usando TLS.
-
-
Após a recepção, todos os detalhes do e-mail são registrados no log, facilitando a monitoração e a depuração.
-
Script |
Diagrama |
|
![]() |
Paho
-
Descrição: o componente Paho permite a integração de aplicações com o protocolo MQTT, facilitando a comunicação entre dispositivos e sistemas em ambientes de Internet das Coisas (IoT).
-
Exemplo
-
O fluxo começa se inscrevendo no tópico
sensor/temperature
em um broker MQTT, utilizando uma conexão segura via SSL na URLbroker.brokername.com:8883
. -
Registra no log uma mensagem com o conteúdo recebido:
Got message ${body}.
-
Se uma mensagem com o conteúdo
"Sensor data: 24°C"
for publicada no tópicosensor/temperature
, o log registrará:"Got message Sensor data: 24°C"
.
-
Script |
Diagrama |
|
![]() |
Paho MQTT5
-
Descrição: o componente Paho MQTT5 permite a integração de aplicações com o protocolo MQTT (versão 5), oferecendo recursos avançados de mensageria, como sessões persistentes e controle de fluxo.
-
Exemplo
-
O fluxo é idêntico ao fluxo descrito para o componente Paho, com a diferença que este usa a versão 5 do protocolo MQTT.
-
Script |
Diagrama |
|
![]() |
Quartz
-
Descrição: o componente Quartz permite agendar e disparar eventos com base em expressões cron. Ele permite configurar tarefas para serem acionadas em horários regulares, como a cada minuto, hora ou dia, usando a sintaxe cron padrão.
Ver gatilho Cron. |
-
Exemplo
-
Um fluxo é acionado todos os dias ao meio-dia. Depois uma mensagem é registrada no log.
-
Script |
Diagrama |
|
![]() |
REST
-
Descrição: o componente REST permite criar e gerenciar endpoints RESTful, facilitando a comunicação entre aplicações por meio do protocolo HTTP. Ele possibilita a definição de rotas que respondem a requisições HTTP (como
GET
,POST
,PUT
eDELETE
), processando dados, invocando serviços e manipulando informações. -
Exemplo
-
O fluxo começa com uma requisição
POST
em/demo
. -
Não há parâmetros adicionais, indicando que serão usadas as configurações padrão do endpoint.
-
Depois uma mensagem é registrada no log.
-
Script |
Diagrama |
|
![]() |
Scheduler
-
Descrição: o componente Scheduler é usado para gerar trocas de mensagens quando um agendador dispara.
-
Exemplo
-
No trecho abaixo, a URI mostra um agendador chamado
mySchedulerName
, que é acionado a cada 60 segundos. -
Depois uma mensagem é registrada no log.
-
Script |
Diagrama |
|
![]() |
SFTP
-
Descrição: o componente SFTP fornece acesso a sistemas de arquivos remotos através dos protocolos FTP e SFTP. Funcionamento apenas no modo passivo.
-
Exemplo
-
O fluxo lê arquivos
.txt
de um servidor SFTP especificado, utilizando um nome de usuário e senha para autenticação. -
Após o download, o conteúdo dos arquivos é enviado para um log para registro.
-
Script |
Diagrama |
|
![]() |
Slack
-
Descrição: o componente Slack permite que você envie mensagens, notificações e alertas para canais ou usuários do Slack diretamente de seus fluxos de integração.
-
Exemplo
-
O fluxo escuta mensagens no canal do Slack especificado.
-
O token de autenticação do Slack está incluído nos parâmetros.
-
Quando uma mensagem é recebida, ela é capturada e registrada no log com o conteúdo.
-
Script |
Diagrama |
|
![]() |
Timer
-
Descrição: o componente Timer é usado para gerar trocas de mensagens quando um temporizador dispara.
-
Exemplo
-
No trecho abaixo, a URI mostra um temporizador chamado
mytimer
, que é acionado a cada 30 segundos (30.000 milissegundos).
-
Script |
Diagrama |
|
![]() |
Share your suggestions with us!
Click here and then [+ Submit idea]