Elastic Search

Permite a configuração de um Elastic Search para receber as mensagens trafegadas.

Parâmetros

Parâmetros aceitos para esse tipo de sindicância de destino:

CampoDescriçãoValor

elastic_search.urls

Endpoints de acesso

Tipo: []string Obrigatório

elastic_search.index

Índice onde os documentos serão adicionados

Tipo: string Obrigatório

elastic_search.id_fields

Campos utilizados na chave única do documento - Os valores serão separados por -. Se não informado será gerado um UUID para cada documento

Tipo: string Valor padrão: [uuid](https://en.wikipedia.org/wiki/Universally_unique_identifier)

elastic_search.pipeline

ID de algum pipeline de ingestão configurado

Tipo: string Valor padrão: -

elastic_search.stored_script

ID de algum stored script configurado

Tipo: string Valor padrão: -

elastic_search.script_params_blobl

Objeto com configuração de transformação Bloblang dos parâmetros do stored script

Tipo: object Valor padrão: -

elastic_search.script_params_blobl.mapping

Mapeamento Bloblang para realizar a transformação

Tipo: string Obrigatório

elastic_search.conflict_action

Ação caso o documento já exista no índice - upsert: Adiciona novos campos e substitui campos existentes - index: Substitui todo o documento

Tipo: enum[upsert index] Valor padrão: upsert

elastic_search.tls

Configuração de TLS

Tipo: object Obrigatório

elastic_search.tls.enabled

Habilitar TLS

Tipo: enum[true false] Obrigatório

elastic_search.tls.skip_cert_verify

Ignorar verificação de certificado

Tipo: enum[true false] Obrigatório

elastic_search.basic_auth

Autenticação básica da requisição

Tipo: object Valor padrão: {}

elastic_search.basic_auth.user_id

Identificador de acesso

Tipo: string Valor padrão: -

elastic_search.basic_auth.password

Senha de acesso

Tipo: string Valor padrão: -

elastic_search.aws

Configuração de acesso no Amazon Elastic Service

Tipo: string Valor padrão: -

elastic_search.aws.region

Região do cluster na AWS

Tipo: string Obrigatório

elastic_search.aws.endpoint

Endpoint de acesso na AWS

Tipo: string Obrigatório

elastic_search.aws.credential.secret

Secret de acesso ao Amazon Elastic Service

Tipo: string Obrigatório

elastic_search.aws.credential.profile

Perfil de acesso ao Amazon Elastic Service

Tipo: string Valor padrão: -

elastic_search.aws.credential.token

Token de acesso ao Amazon Elastic Service

Tipo: string Valor padrão: -

elastic_search.aws.credential.role

Permissão de acesso ao Amazon Elastic Service

Tipo: string Valor padrão: -

elastic_search.aws.credential.role_external_id

ID externo de permissão para acesso ao Amazon Elastic Service

Tipo: string Valor padrão: -

Requisição

curl --location '<HOST>/v1/configs' \
--header 'Content-Type: application/json' \
--header 'Authorization: <ACCESS-TOKEN>' \
--data '{
    "output": {
        "type": "ELASTIC_SEARCH",
        "elastic_search": {
          "urls": [
            "http://localhost:9200"
          ],
          "index": "INDEX",
          "id_fields": [
            "FIELD_1"
          ],
          "pipeline": "PIPELINE",
          "script_params_blobl": {
            "mapping": "root.key = this.value"
          },
          "conflict_action": "upsert",
          "tls": {
            "enabled": false,
            "skip_cert_verify": true
          },
          "basic_auth": {
            "user_id": "USER_ID",
            "password": "PASSWORD"
          }
        }
    }
}'

Resposta

A resposta desse endpoint será no seguinte formato:

{
  "id": "FIREHOSE-ID",
  "output": {
    "type": "ELASTIC_SEARCH",
    "elastic_search": {
      "urls": [
        "http://localhost:9200"
      ],
      "index": "INDEX",
      "id_fields": [
        "FIELD_1"
      ],
      "pipeline": "PIPELINE",
      "conflict_action": "upsert",
      "tls": {
        "enabled": false,
        "skip_cert_verify": true
      },
      "basic_auth": {
        "user_id": "USER_ID",
        "password": "PASSWORD"
      }
    }
  }
}

Last updated