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
  • Acesso a Dados Comuns em Streaming
  • Compartilhamento de Dados
  • Multiplas Escritas
  • Escrever em um Delta Lake [beta]
  • Enriquecimento de Dados
  • Controle de Vazão
  • Escrita de Arquivos .csv
  • Processamento em Streaming
  1. Detalhes

Casos de Uso

PreviousUI (Alpha)NextArquitetura

Last updated 3 months ago

Acesso a Dados Comuns em Streaming

Para facilitar o acesso a dados de interesse comum, disponibilizamos dados em streaming por meio de índices, sem a necessidade de realizar consultas no Lake ou em outros bancos de dados. Confira alguns dos que você pode consumir:

  • messages

  • eventtracks

  • changed tickets

  • contacts

Compartilhamento de Dados

Índice A
{
    "description": "Indexar mensagens do Kafka por bot_id",
    "input": {
        "type": "KAFKA",
        "kafka": {
            "addresses": ["<ADDRESS>"],
            "topics": ["<TOPIC>"],
            "tls": {
                "enabled": "true",
                "skip_cert_verify": "true"
            },
            "sasl": {
                "mechanism": "PLAIN",
                "user": "<USER>",
                "password": "<PASSWORD>"
            }
        }
    },
    "index": [
        {
            "key": "group",
            "values": ["<USER_GROUP>"],
            "required": true
        },
        {
            "key": "bot_id",
            "value": "$..from",
            "required": true
        }
    ]
}
Filtro B
{
    "description": "Filtrar mensagens do bot 'blip' e enviar para um servidor HTTP",
    "filter": {
        "groups": ["<USER_GROUP>"],
        "indexes": ["<INDEX_ID>"],
        "filter": {
            "op": "EQ",
            "field_name": "bot_id",
            "value": "blip",
            "value_type": "string"
        }
    },
    "output": {
        "target": "https://example.com",
        "type": "HTTP",
        "http": {
            "verify_token": "<VERIFICATION_TOKEN>",
            "verb": "POST"
        }
    }
}
Filtro C
{
    "description": "Filtrar mensagens do bot 'firehose' e enviar para o MongoDB",
    "filter": {
        "groups": ["<USER_GROUP>"],
        "indexes": ["<INDEX_ID>"],
        "filter": {
            "op": "EQ",
            "field_name": "bot_id",
            "value": "firehose",
            "value_type": "string"
        }
    },
    "output": {
        "mongodb": {
            "database": "<DATABASE>",
            "collection": "<COLLECTION>",
            "uri": "mongodb+srv://<USERNAME>:<PASSWORD>@<HOST>"
        }
    }
}

Multiplas Escritas

Configuração
{
    "description": "Redirecionar mensagens para outras configurações",
    "input": {},
    "output": {
        "type": "FIREHOSE",
        "firehose": {
            "config_ids": [
                "<ID_CONFIG_B>",
                "<ID_CONFIG_C>"
            ]
        }
    }
}

Escrever em um Delta Lake [beta]

Configuração
{
    "description": "Escrever dados em uma tabela Delta Lake",
    "input": {},
    "output": {
        "type": "DELTALAKE",
        "deltalake": {
            "azure_blob_storage": {
                "storage_account": "<STORAGE_ACCOUNT>",
                "storage_access_key": "<STORAGE_ACCESS_KEY>",
                "root_path": "<ROOT_PATH_IN_AZURE>"
            },
            "table_name": "<TABLE_NAME>"
        }
    }
}

Enriquecimento de Dados

Configuração
{
    "description": "Enriquecer dados com uma requisição HTTP e multiplicar um campo por 3",
    "input": {},
    "transformer": {
        "workflow": [
            [
                "http",
            ],
            [
                "bloblang"
            ]
        ],
        "steps": [
            {
                "id": "http",
                "type": "HTTP",
                "override": false,
                "ignore_error": false,
                "http": {
                    "url": "https://api.example.com",
                    "verb": "POST",
                    "headers": {
                        "key": "value"
                    },
                    "body": {
                        "mapping": "root = this"
                    }
                }
            },
            {
                "id": "bloblang",
                "type": "BLOBLANG",
                "override": false,
                "ignore_error": false,
                "bloblang": {
                    "mapping": "root.year = this.year * 3"
                }
            }
        ]
    },
    "output": {}
}

Controle de Vazão

Escrita de Arquivos .csv

Mais detalhes sobre os parâmetros configuráveis podem ser encontrados em suas respectivas páginas de documentação.

Processamento em Streaming

TODO

Utilizando e , é possível compartilhar dados de uma entrada com outras configurações.

Caso não seja necessário realizar nenhum tipo de filtro, é possível redirecionar mensagens para outras configurações utilizando o output .

Para escrever diretamente em uma tabela Delta Lake, é possível utilizar o .

Para enriquecer ou manipular os dados trafegados, é possível realizar .

Para trafegar um grande volume de dados sem sobrecarregar a saída de destino, é possível configurar um , que limita quantas mensagens podem ser enviadas em um intervalo de tempo pré-definido.

Também é possível escrever arquivos .csv com os dados trafegados ao utilizar algumas saídas, como ou . O arquivo resultante contém os dados trafegados que foram acumulados em uma janela de tempo.

índices
filtros
Firehose
output correspondente
tranformações
Azure Blob
e-mail
índices
Acesso a Dados Comuns em Streaming
Compartilhamento de Dados
Multiplas Escritas
Escrever em um Delta Lake [beta]
Enriquecimento de Dados
Controle de Vazão
Escrita de Arquivos .csv
Processamento em Streaming
controle de vazão