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