Skip to main content
O Reporter lê os dados do Midaz por uma fonte de dados nomeada. Um template de relatório referencia esse nome, e o Reporter transforma os placeholders e filtros em consultas ao banco de dados de origem. Por exemplo, um template pode referenciar uma conta da fonte de dados midaz_onboarding:
O Reporter gera consultas SELECT para fontes PostgreSQL e operações Find para fontes MongoDB. Em seguida, renderiza os dados retornados por meio do template. O Reporter não grava nos bancos de dados de origem nem persiste os resultados do relatório no Midaz.

Antes de começar


Você precisa de:
  • Acesso de rede do Reporter ao banco de dados do Midaz.
  • Um usuário de banco de dados com permissões somente leitura.
  • De preferência, uma réplica de leitura para que as cargas de relatório não concorram com as cargas do ledger. A configuração de referência usa o host midaz-postgres-replica como exemplo.
  • O banco de dados, os schemas e as tabelas que os seus templates precisam consultar.
O Reporter gera operações de leitura, mas esse comportamento não aplica permissões no banco de dados. Use credenciais de banco de dados somente leitura. Não dê ao Reporter um usuário que possa inserir, atualizar, excluir ou alterar schemas.

Escolha quem gerencia a conexão


O modelo de implantação determina quem configura a fonte de dados:
  • Managed (hospedado pela Lerian): a conexão aos dados dos seus produtos Lerian é configurada durante o onboarding. Confirme o nome e a disponibilidade da fonte de dados com o seu contato na Lerian antes de criar templates.
  • Self-hosted: o seu operador configura a conexão durante a implantação e gerencia o acesso de rede, as credenciais, os certificados e as permissões do banco de dados.
Nos dois modelos, os autores de relatórios referenciam a fonte de dados configurada pelo configName.

Configure uma fonte de dados nomeada


Em uma implantação self-hosted, defina a conexão com variáveis de ambiente DATASOURCE_<NAME>_*. Configure DATASOURCE_<NAME>_CONFIG_NAME com o nome estável que os templates e filtros usarão. Por exemplo, se o configName for midaz_onboarding, os templates referenciam midaz_onboarding mesmo que o host ou as credenciais do banco de dados mudem depois. Para fontes PostgreSQL que expõem mais de um schema, derive a variável de schemas do configName. Um configName com valor external_db usa:
Consulte Configurar fontes de dados externas para ver as variáveis de conexão e exemplos completos.

Proteja o banco de dados do Midaz


Use um papel de banco de dados dedicado que possa apenas se conectar e consultar as tabelas e os schemas necessários. Aponte o Reporter para uma réplica de leitura quando a sua topologia permitir. Isso mantém as consultas de relatórios fora do banco de dados primário, mas a réplica não substitui credenciais somente leitura: aplique os dois controles. Rotacione a credencial pelo seu processo habitual de gerenciamento de segredos. Mantenha o configName estável para que os templates existentes continuem resolvendo a mesma fonte de dados.

Verifique a conexão


  1. Liste as fontes de dados e confirme que o configName esperado aparece.
  2. Copie o ID da fonte de dados da resposta.
  3. Recupere a fonte de dados e confirme que o Reporter descobre os schemas, as tabelas e os campos esperados.
  4. Crie um template pequeno que referencie um campo conhecido e gere um relatório para verificar todo o caminho de consulta e renderização.
A conexão está pronta quando a fonte nomeada está disponível, a estrutura descoberta está correta e o relatório de teste retorna o valor esperado.

Solução de problemas


A fonte de dados está indisponível

Verifique o roteamento de rede, o DNS, as configurações de TLS, as credenciais, as permissões do banco de dados e a integridade da réplica. Durante a validação do template, o Reporter pode retornar um aviso DATA_SOURCE_UNAVAILABLE em vez de bloquear a criação do template. Corrija a conexão antes de depender do resultado do relatório.

O nome da fonte é ambíguo

Use um configName descritivo para cada função de banco de dados, como midaz_onboarding e midaz_transaction. Evite nomes genéricos como database ou postgres, especialmente quando fontes diferentes contêm tabelas com os mesmos nomes. Atualize o template para referenciar explicitamente a fonte correta.

Próximos passos