Configuração de Filtro
É 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:
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 ofield_name
forcontent
.
Last updated