Pré-requisitos
Antes de começar, verifique se:- O Reporter está em execução e você consegue se autenticar na API.
- Um operador configurou pelo menos uma fonte para os dados consultados pelo seu template.
- Você tem um arquivo
.tplcorrespondente ao formato de saída esperado. Consulte os exemplos de templates e a referência de templates.
Gerenciar templates
O Reporter usa arquivos.tpl enviados para definir o conteúdo e o layout dos relatórios.
Enviar um template
Chame Enviar um template com uma requisição multipart que contenha os três campos obrigatórios:template: o arquivo.tpl.outputFormat: o formato do arquivo gerado, comoHTML,PDF,XML,CSVouTXT.description: uma descrição legível do template.
Manter templates existentes
Use os endpoints de templates para: A exclusão de um template é lógica. O Reporter o remove das consultas padrão, mas preserva os relatórios já criados a partir dele.Gerar um relatório com filtros
Chame Criar um relatório com os dois campos obrigatórios:templateId: o identificador retornado no envio do template.filters: as condições agrupadas por fonte de dados, tabela e campo.
id. Guarde esse valor como REPORT_ID para consultar o status da geração e recuperar o resultado.
Consulte Filtragem avançada para conhecer os operadores compatíveis e a estrutura dos filtros.
Descobrir schemas das fontes de dados
Examine as fontes configuradas antes de criar templates ou interfaces de filtros dinâmicos:- Listar fontes de dados retorna as fontes disponíveis, seus schemas e suas tabelas.
- Consultar uma fonte de dados retorna as tabelas e os campos de uma fonte.
Interpretar status e erros
Chame Consultar o status do relatório comREPORT_ID.
| Status | Significado | O que fazer |
|---|---|---|
Processing | O Reporter está gerando o arquivo. | Continue consultando o status em um intervalo razoável. |
Finished | A geração foi concluída com sucesso. | Baixe o relatório. |
Partial | O Reporter gerou apenas parte do resultado solicitado. | Examine os detalhes da resposta e corrija as seções de dados que falharam antes de gerar novamente. |
Error | A geração falhou. | Examine os detalhes do erro, o template, os filtros e a disponibilidade das fontes de dados. |
Finished como disponível para download. Um resultado Partial exige investigação mesmo que o Reporter tenha gerado alguns dados.
Verificar e baixar o relatório
Quando o status forFinished:
- Chame Baixar um relatório com
REPORT_ID. - Confirme se a resposta tem o tipo de conteúdo esperado e o header
Content-Disposition. - Abra o arquivo e verifique se os dados e o layout correspondem ao template e aos filtros.
Finished.
Solução de problemas
| Sintoma | O que verificar |
|---|---|
| O envio do template é rejeitado | Envie template, outputFormat e description e confirme se o arquivo usa a extensão .tpl. |
| A criação do relatório é rejeitada | Envie templateId e filters. Use "filters": {} quando não precisar filtrar linhas. |
O relatório permanece em Processing | Verifique a saúde do Worker, a conexão com o RabbitMQ e as fontes de dados usadas. |
O relatório termina como Partial | Examine quais seções falharam e verifique os nomes da fonte, da tabela, do campo e dos filtros. |
O relatório termina como Error | Verifique o erro retornado, a sintaxe do template, os valores dos filtros, as conexões com as fontes de dados e o armazenamento de objetos. |
| O download é rejeitado | Consulte o status mais recente. O download só está disponível quando o status é Finished. |
Configuração para operadores
As opções de deploy a seguir são destinadas a operadores. Você não precisa delas para o fluxo de geração de relatórios.Configurar o armazenamento de objetos
O Reporter armazena templates e relatórios gerados em um bucket compatível com S3. Ele usa os prefixostemplates/ e reports/. O Reporter é compatível com AWS S3, MinIO e SeaweedFS.
| Variável | Descrição | Padrão |
|---|---|---|
OBJECT_STORAGE_ENDPOINT | Endpoint compatível com S3. Deixe-o vazio para AWS S3. | — |
OBJECT_STORAGE_REGION | Região da AWS. | us-east-1 |
OBJECT_STORAGE_ACCESS_KEY_ID | Chave de acesso. | — |
OBJECT_STORAGE_SECRET_KEY | Chave secreta. | — |
OBJECT_STORAGE_USE_PATH_STYLE | Usa URLs no estilo path. MinIO e SeaweedFS geralmente exigem essa opção. | false |
OBJECT_STORAGE_DISABLE_SSL | Usa HTTP em vez de HTTPS quando OBJECT_STORAGE_ENDPOINT não contém um esquema. Um esquema http:// ou https:// explícito tem prioridade. | false |
OBJECT_STORAGE_BUCKET | Nome do bucket. | reporter-storage |
AWS S3
AWS S3
MinIO (desenvolvimento local)
MinIO (desenvolvimento local)
SeaweedFS (desenvolvimento local)
SeaweedFS (desenvolvimento local)
O S3 não é compatível com TTL por objeto. Configure políticas de ciclo de vida do bucket S3 se os relatórios gerados precisarem expirar automaticamente.
Configurar fontes de dados externas
Defina cada fonte PostgreSQL ou MongoDB com variáveis de ambienteDATASOURCE_<NAME>_*.
| Variável | Descrição | Obrigatória |
|---|---|---|
DATASOURCE_<NAME>_CONFIG_NAME | Identificador usado nos templates, como midaz_onboarding. | Sim |
DATASOURCE_<NAME>_HOST | Host do banco de dados. | Sim |
DATASOURCE_<NAME>_PORT | Porta do banco de dados. | Sim |
DATASOURCE_<NAME>_USER | Usuário do banco de dados. | Somente quando o banco exige autenticação por usuário |
DATASOURCE_<NAME>_PASSWORD | Senha do banco de dados. | Somente quando o banco exige autenticação por senha |
DATASOURCE_<NAME>_DATABASE | Nome do banco de dados. | Sim |
DATASOURCE_<NAME>_TYPE | postgresql ou mongodb, em letras minúsculas. | Sim |
DATASOURCE_<NAME>_SSLMODE | Modo SSL do PostgreSQL, como disable ou require. | Apenas PostgreSQL |
DATASOURCE_<NAME>_SSLROOTCERT | Caminho do certificado raiz do PostgreSQL. | Apenas PostgreSQL |
DATASOURCE_<NAME>_SSL | Habilita SSL no MongoDB. | Apenas MongoDB |
DATASOURCE_<NAME>_SSLCA | Caminho do certificado CA do MongoDB. | Apenas MongoDB |
DATASOURCE_<NAME>_OPTIONS | Opções adicionais da URI do MongoDB. | Apenas MongoDB |
DATASOURCE_<CONFIG_NAME>_SCHEMAS | Schemas PostgreSQL separados por vírgulas que serão expostos. O prefixo da variável deriva de CONFIG_NAME. | Apenas PostgreSQL |
CONFIG_NAME é midaz_onboarding:
CONFIG_NAME:
CONFIG_NAME. Por exemplo, external_db corresponde a DATASOURCE_EXTERNAL_DB_SCHEMAS:
database:schema.table nos templates e schema.table como chave da tabela nos filtros:
public.
O Manager carrega a configuração das fontes de dados e se conecta sob demanda. O Worker se conecta durante a inicialização e repete as tentativas para fontes indisponíveis. Ele pode continuar com funcionalidade reduzida se uma fonte continuar indisponível.

