Configuração de Indexação

É 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:

* Aceita notação JsonPath para buscar campos do json. Ferramenta ú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
        }
    ]
}'

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 JsonPath) a partir do campo no primeiro nível from.

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.

Last updated