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
  • Limitações
  1. Configurações

Configuração de Filtro

PreviousConfiguração de IndexaçãoNextTransformação

Last updated 8 months ago

É possível realizar a filtragem dos dados indexados via Configuração de Indexação no Firehose.

Essa configuração é útil em casos onde uma configuração recupera dados de uma fonte comum e permite que filtros sejam aplicados em cima desses dados garantindo que somente o que for necessário seja enviado para a sindicância de saída.

Parâmetros

Parâmetros aceitos na configuração de filtro:

Campo
Descrição
Valor

filter.groups

IDs dos grupos a serem filtrados

Tipo: []string Obrigatório

filter.indexes

IDs dos indexes a serem filtrados

Tipo: []string Obrigatório

filter.description

Descrição do estágio de filtro

Tipo: string

filter.filter

Configurações do filtro

Tipo: object Obrigatório

filter.filter.op

Tipo de operação a ser aplicado no filtro

Tipo: enum[AND GT LT GE LE EQ CONTAINS IN REGEX] Obrigatório

filter.filter.field_name

Nome do campo a ser filtrado

Tipo: enum[type channel bot_id tenant to from content] Obrigatório se o campo op for diferente de OR e AND

filter.filter.value

Valor a ser utilizado na aplicação do filtro

Tipo: string Obrigatório se o campo op for diferente de OR e AND

filter.filter.value_type

Tipo do valor a ser utilizado na aplicação do filtro

Tipo: enum[string number bool] Obrigatório se o campo op for diferente de OR e AND

filter.filter.filters

Filtros a serem realizados

Tipo: []filter Obrigatório se o campo op for OR ou AND

Requisição

Para habilitar essa indexação a seguinte requisição pode ser realizada:

curl --location '<HOST>/v1/configs' \
--header 'Content-Type: application/json' \
--header 'Authorization: <ACCESS-TOKEN>' \
--data '{
    "filter": {
        "groups": [
            "GROUP-ID"
        ],
        "indexes": [
            "123"
        ],
        "description": "FILTER-DESCRIPTION",
        "filter": {
            "op": "AND",
            "filters": [
                {
                    "op": "EQ",
                    "field_name": "type",
                    "value": "command",
                    "value_type": "string"
                },
                {
                    "op": "EQ",
                    "field_name": "bot_id",
                    "value": "123",
                    "value_type": "string"
                }
            ]
        }
    },
    "output": {
        "target": "https://localhost",
        "type": "HTTP",
        "http": {
            "verify_token": "VERIFY-TOKEN",
            "verb": "POST"
        }
    }
}'

No exemplo acima foi gerada uma configuração do Firehose que filtra os dados gerados por Configuração de Indexação no grupo GROUP-ID e que possuem o campo type igual a command e o campo bot_id igual à 123. Os dados filtrados são enviados para um endpoint HTTP configurado na saída.

Limitações

  • O usuário precisa ter permissão para filtrar os dados que pode ser solicitada ao time do Firehose. Além da permissão de filtro o usuário precisa ter permissão em cada campo a ser filtrado.

  • O filtro não pode ser utilizado junto com uma Configuração de Indexação.

  • O usuário tem que pertencer ao grupo passado no filtro ou ter permissão para filtrar dados daquele grupo.

  • O operador REGEX pode ser utilizado apenas quando o field_name for content.