Blip Firehose
  • Detalhes
    • Blip Firehose
    • UI (Alpha)
    • Casos de Uso
    • Arquitetura
    • Hosts
    • Autenticação
    • Postman
    • API
  • Configurações
    • Configuração
    • Configuração de Entrada
      • Azure Blob
      • Delta Sharing
      • Google Cloud PubSub
      • HTTP Client
      • HTTP
      • Kafka
      • N8N
      • SQL
    • Configuração de Saída
      • AWS Kinesis
      • AWS S3
      • Azure Blob
      • Delta Lake
      • Elastic Search
      • Email Transacional
      • Email
      • Firehose
      • Google Cloud PubSub
      • Google Cloud Storage
      • HTTP
      • Kafka
      • MongoDB
      • SFTP
      • SQL
    • Processamento em Streaming
    • Configuração de Indexação
    • Configuração de Filtro
    • Transformação
    • Verificar Configuração
  • Informações
    • Vídeo explicativo
    • Observabilidade
Powered by GitBook
On this page
  • Parâmetros
  • Requisição
  • Resposta
  • Limitações
  1. Configurações
  2. Configuração de Entrada

SQL

PreviousN8NNextConfiguração de Saída

Last updated 8 months ago

Permite a configuração de um banco SQL de onde as mensagens serão consumidas.

Parâmetros

Parâmetros aceitos para esse tipo de entrada:

Campo
Descrição
Valor

sql.driver

Driver do banco SQL

Tipo: enum[mysql postgres mssql] Obrigatório

sql.uri

URI de conexão com o banco SQL

Tipo: string Obrigatório

sql.scheduler

Informações do agendador

Tipo: object Obrigatório

sql.scheduler.cron

Tipo: string Obrigatório se o campo seconds não for informado

sql.scheduler.seconds

Tempo em segundos entre as execuções

Tipo: int Obrigatório se o campo cron não for informado

sql.query

Informações da query

Tipo: object Obrigatório

sql.query.select

Projeção de campos da resposta

Tipo: string Obrigatório

sql.query.from

Tabela a ser consultada

Tipo: string Obrigatório

sql.query.where

Condição da busca

Tipo: string Obrigatório

sql.query.group_by

Campo para agrupamento

Tipo: string Obrigatório

sql.query.having

Coluna para agrupamento

Tipo: string Obrigatório

sql.query.order_by

Campo para ordenação

Tipo: string Obrigatório

sql.query.limit

Limite de dados da busca

Tipo: int[1-10000] Obrigatório

Caso algum campo da URI tenha caracteres especiais, será necessário deixar a URI em um formato especial. Exemplo de formatos por driver:

Requisição

curl --location '<HOST>/v1/configs' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <ACCESS-TOKEN>' \
  --data '{
    "input": {
      "type": "SQL",
      "sql": {
        "driver": "postgres",
        "uri": "postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]",
        "scheduler": {
          "seconds": 60
        },
        "query": {
          "select": "*",
          "from": "TABLE",
          "where": "key == 'value'",
          "group_by": "key",
          "order_by": "date",
          "limit": 1000
        }
      }
    },
    "output": {...}
  }'

Resposta

A resposta desse endpoint será no seguinte formato:

{
  "id": "FIREHOSE-ID",
  "input": {
    "type": "SQL",
    "sql": {
      "driver": "postgres",
      "uri": "*",
      "scheduler": {
        "seconds": 60
      },
      "query": {
        "select": "*",
        "from": "TABLE",
        "where": "key == 'value'",
        "group_by": "key",
        "order_by": "date",
        "limit": 1000
      }
    }
  },
  "output": {...}
}

Limitações

Hoje existe um limite máximo de registros a serem recuperados por busca de 10000, porém ocorre a paginação da resposta utilizando offset internamente pelo Firehose garantindo a entrega de todos os registros que satisfaçam à uma query.

Expressão com tempo das execuções

mssql
postgres
cron