Configuração

Toda manipulação de dados é feita através de configurações específicas. É possível criar:

  • Configuração de Entrada possui os dados de input do Firehose, ou seja, de onde o dado virá e como o Firehose fará para encontrá-lo. Em alguns casos o Firehose não vai atrás da informação, como a entrada HTTP, mas o usuário que enviar os dados precisará informar o ID da configuração ao enviar os dados.

  • Processamento em Streaming permite realizar processamento no streaming de dados.

  • Configuração de Indexação é um tipo de configuração adicionado à configuração de entrada que fará com que os dados sejam indexados. Essa configuração é opcional. Os dados indexados podem ser filtrados por uma configuração de filtro.

  • Configuração de Filtro configuração utilizada para filtrar dados indexados pela configuração de indexação. A partir desse tipo de configuração você poderá rotear mensagens para configurações de saídas diferentes a partir de filtros em seus campos.

  • Transformação são regras adicionais que podem ser colocadas em diferentes tipos de configurações para transformar o dado trafegado pelo Firehose. Poderá fazer manipulação de valores, criação de novos objetos a partir das informações iniciais, e diversas outras transformações.

  • Configuração de Saída possui os dados de output do Firehose, ou seja, para onde o dado será enviado após passar por todo o pipeline interno do Firehose.

  • Verificar Configuração permite verificar a conectividade dos componentes antes mesmo de registrar uma configuração no Firehose.

Toda manipulação de configurações é feita utilizando a API do Firehose:

Fluxo

O fluxo de execução do pipeline de cada configuração respeita a seguinte ordem:

Dessa forma, é possível aplicar um Processamento em Streaming sobre os dados de entrada ou filtrados e ainda aplicar uma Transformação sobre o resultado antes de enviar para uma saída ou mesmo indexar o dado.

Parâmetros

Estrutura básica do payload de uma configuração:

CampoDescriçãoValor

name

Nome da configuração

Tipo: string

description

Descrição da configuração

Tipo: string

input

Configuração de entrada

Tipo: object

output

Configuração de saída

Tipo: object

filter

Configuração de filtro

Tipo: object

index

Configuração de indexação

Tipo: list

transformer

Configuração de transformação

Tipo: object

Requisição

curl --location '<HOST>/v1/configs' \
--header 'Content-Type: application/json' \
--header 'Authorization: <ACCESS-TOKEN>' \
--data '{
  "name": "NAME",
  "description": "DESCRIPTION",
  "input": {...},
  "output": {...},
  "filter": {...},
  "index": {...},
  "transformer": {...}
}'

Last updated