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 Indexação

PreviousProcessamento em StreamingNextConfiguração de Filtro

Last updated 8 months ago

É possível realizar a indexação dos dados que são trafegados no Firehose para que sejam filtrados por uma Configuração de Filtro.

Essa configuração é útil em casos onde uma configuração gera dados comuns à N configurações diferentes do Firehose, permitindo a realização de filtros em cima desses dados.

Parâmetros

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

Campo
Descrição
Valor

index.description

Descrição do estágio de indexação

Tipo: string

index.key

Nome do campo a ser indexado

Tipo: enum[type channel bot_id group tenant to from content] Obrigatório

index.value

Valor a ser indexado no campo

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

index.values

Valores a serem indexados no campo

Tipo: []string* Obrigatório se o campo value não for informado ou se o campo key for igual a group

index.required

Indica se o campo é obrigatório na indexação

Tipo: boolean Obrigatório

* Aceita notação para buscar campos do json. útil para testar a notação.

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 '{
    "input": {
        "type": "HTTP"
    },
    "index": [
        {
            "description": "INDEX-DESCRIPTION-1",
            "key": "group",
            "values": [
                "GROUP-ID"
            ],
            "required": true
        },
        {
            "description": "INDEX-DESCRIPTION-2",
            "key": "type",
            "value": "command",
            "required": true
        },
        {
            "description": "INDEX-DESCRIPTION-3",
            "key": "bot_id",
            "value": "$..from",
            "required": true
        }
    ]
}'

Limitações

O usuário precisa ter permissão de indexação dos dados que pode ser solicitada ao time do Firehose. Além da permissão de indexação o usuário precisa ter permissão de cada campo a ser indexado.

A indexação pode ser utilizada em configurações que possuem apenas entrada e não pode ser utilizada junto com uma Configuração de Filtro.

O grupo sempre precisa ser indexado e o usuário tem que pertencer a ele ou ter permissão de indexar dados naquele grupo.

No exemplo acima foi gerada uma configuração do Firehose que recebe dados via entrada HTTP e indexa os campos group com o valor GROUP-ID, type com o valor command e bot_id com o valor recuperado de forma dinâmica da mensagem json (usando ) a partir do campo no primeiro nível from.

JsonPath
JsonPath
Ferramenta