SQL

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:

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.

Last updated