{% extends "base.html" %} {% block title %}{{ config.name }} - engineer_kit{% endblock %} {% block content %}

{{ config.name }}

{{ config.connector.method }} {{ config.connector.base_url }}

Data Profile
Editar

Fluxo

REST APIRestConnector{{ config.connector.pagination.type }} pagination
Profileopcionalquality antes da Bronze
WatermarkStateStore{{ config.state.type if config.state.type != 'auto' else config.destination.type ~ ' (auto)' }}
BronzeDestination{{ config.destination.type }} / {{ config.destination.schema }}
{% if config.transform.type == 'dbt' %}
dbtTransformstaging → silver → gold
{% endif %}
O Pipeline trabalha com contratos. O profile é somente leitura: não grava Bronze nem avança checkpoint. Retries de uma mesma janela usam uma ingestion_key determinística nos destinations oficiais.

Ingestão

Paginação
{{ config.connector.pagination.type }}
Incremental
{{ config.connector.incremental.mode }}{% if config.connector.incremental.date_field %}
{{ config.connector.incremental.date_field }}{% endif %}
Primary key
{% if config.connector.primary_key %}{{ config.connector.primary_key | join(', ') }}{% else %}não declarada{% endif %}
Deduplicação
{% if config.connector.dedup %}ativa · keep first · remove registro inteiro repetido por PK{% else %}desligada{% endif %}
Autenticação
{{ config.connector.auth.type }}
Destination
{{ config.destination.type }}
Schema Bronze
{{ config.destination.schema }}
Write mode
{{ config.destination.write_mode }}
Batch
{{ config.destination.batch_size }}
{% if config.destination.partition_by %}
Partições
{{ config.destination.partition_by | join(', ') }}
{% endif %}

Estado e pós-ingestão

StateStore
{{ config.state.type if config.state.type != 'auto' else 'auto → ' ~ config.destination.type }}
Run log
{% if config.run_log %}{{ config.run_log.type if config.run_log.type != 'auto' else 'auto → ' ~ config.destination.type }}{% else %}desligado{% endif %}
Transformação
{{ config.transform.type }}
{% if config.transform.type == 'dbt' %}
dbt select
{{ config.transform.select or "todos os modelos" }}
Projeto local
{{ "encontrado" if dbt_available else "não encontrado" }}
{% endif %}
{% if config.transform.type == 'dbt' %}Ver modelos dbt{% endif %} Entender abstrações

Contrato de schema

Bronze persiste os campos declarados como strings e preserva campos inesperados em _extra. Os tipos abaixo são o contrato lógico usado por staging/transformação.

{% if config.columns %}{% for col in config.columns %}{% endfor %}
ColunaTipo lógico
{{ col.name }}{{ col.dtype }}
{% else %}
Nenhuma coluna declarada.
{% endif %}

Histórico de execuções

{% if history %} {% for run in history %}{% endfor %}
InícioFimStatusRegistrosErro
{{ run.started_at }}{{ run.finished_at }}{{ run.status }}{{ run.rows_loaded }}{{ run.error_message or "" }}
{% else %}
Ainda não rodou.
{% endif %} {% endblock %}