Gatilhos

Confira a descrição e um exemplo de cada gatilho aprovado para uso no Sensedia Integrations:

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 e password: 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

- from:
    uri: "azure-storage-blob://camelstorageaccount01/myblobcontainer"
    parameters:
          credentialType: "SHARED_ACCOUNT_KEY"
          operation: "listBlobs"
          accessKey: "{{AWS_ACCESS_KEY}}"
    steps:
      - to:
          uri: "ftps:demo.wftpserver.com/download"
          parameters:
            username: "demo"
            password: "demo"
            includeExt: "txt"
            delay: 10000
            passiveMode: true
      - log:
          loggingLevel: INFO
          message: "Downloaded File Content\n: ${body}"
component azure storage blob service trigger

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

- from:
    uri: "aws2-s3://bucket-s3"
    parameters:
      region: us-east-1
      accessKey: "{{ACCESS_KEY}}"
      secretKey: "{{SECRET_KEY}}"
    steps:
      - log:
          message: "Body: ${body}"
component aws3

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 e secretKey) 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

- from:
    uri: "aws2-sqs:queueNameOrArn"
    parameters:
      accessKey: "{{accessKey}}"
      secretKey: "{{secretKey}}"
    steps:
      - to:
          uri: "log:info"
component aws sqs trigger

Cron

  • Descrição: o componente Cron permite acionar eventos em intervalos de tempo específicos.

  • Exemplo

    • O trecho abaixo configura uma rota para ser executada a cada 5 minutos, registrando uma mensagem no log.

Script

Diagrama

- from:
    uri: "cron:my-cron"
    parameters:
      schedule: "0/5 * * * *"
    steps:
    - log:
        message: "Executed every 5 minutes"
component cron

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 e password) 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

- from:
    uri: "ftp://demo.wftpserver.com/download"
    parameters:
      username: "demo"
      password: "demo"
      includeExt: "txt"
      delay: 10000
      passiveMode: true
    steps:
    - log:
        message: "Downloaded File Content\n: ${body}"
component ftp

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

- from:
    id: google-pubsub-3687633689
    uri: google-pubsub:my-project:my-topic
    parameters:
      serviceAccountKey: service-account.json
      destinationName: my-topic
    steps:
      - setBody:
          id: setBody-2320563641
          simple: 'Transformed message: ${body.toUpperCase()}'
      - log:
          id: log-2088714838
          message: 'Message sent to Pub/Sub topic: ${body}'
component google pub sub trigger

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

- from:
    uri: "kafka:my-topic"
    parameters:
      brokers: "localhost:9092"
    steps:
      - log:
          message: "Mensagem recebida do Kafka: ${body}"
component kafka trigger

Mail

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 e password) 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

- from:
    uri: "imaps://imap.gmail.com:993"
    parameters:
      username: "yourusername"
      password: "yourpassword"
      delete: false
      unseen: true
      delay: 60000
    steps:
    - to:
        uri: "log:email"
        parameters:
          showAll: true
component imaps

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

- from:
    uri: "pop3s://pop.gmail.com:995"
    parameters:
      username: "yourusername"
      password: "yourpassword"
      delete: false
      unseen: true
      delay: 60000
    steps:
    - to:
        uri: "log:email"
        parameters:
          showAll: true
component pop3s

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

- from:
    uri: "smtps://smtp.gmail.com:465"
    parameters:
        username: "yourusername"
        password: "yourpassword"
        mail.smtp.auth: "true"
        mail.smtp.starttls.enable: "true"
    steps:
      - to:
          uri: "log:receivedEmail"
          parameters:
            showAll: true
component smtp trigger

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 URL broker.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ópico sensor/temperature, o log registrará: "Got message Sensor data: 24°C".

Script

Diagrama

- from:
    uri: "paho:sensor/temperature"
    parameters:
      brokerUrl: ssl://broker.brokername.com:8883
    steps:
      - log:
          message: "Got message ${body}"
component paho

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

- from:
    uri: "paho-mqtt5:sensor/temperature"
    parameters:
      brokerUrl: ssl://broker.brokername.com:8883
    steps:
      - log:
          message: "Got message ${body}"
component paho mqtt5

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.

  • Exemplo

    • Um fluxo é acionado pelo componente Quartz a cada hora, exatamente no 59º minuto.

    • Depois uma mensagem é registrada no log.

Script

Diagrama

- from:
    uri: "quartz://test"
    parameters:
      cron: "59 * * * *"
    steps:
    - log:
        message: "This is a test"
component quartz

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 e DELETE), 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

- from:
    uri: rest:post:/demo
    parameters: {}
    steps:
    - log:
        message: "This is a test"
component rest

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

- from:
    uri: "scheduler:mySchedulerName"
    parameters:
      timeUnit: SECONDS
      delay: 60
    steps:
    - log:
        message: "This is a test"
component scheduler

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

- from:
    uri: "sftp:demo.wftpserver.com:2222/download"
    parameters:
      username: "demo"
      password: "demo"
      includeExt: "txt"
      delay: 10000
    steps:
      - to:
          uri: "log:responseLogger"
component sftp trigger

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

- from:
    uri: "slack:#channel"
    parameters:
      token: "your-slack-token"
    steps:
      - log:
          message: "Received message from Slack: ${body}"
component slack

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

- from:
    uri: "timer:mytimer"
    parameters:
      period: 30000
    steps:
      - log:
          message: "This is a test."
component timer
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]