ETL and workflows
One workflow has usually its own ETL, because a workflow has its own set of data, account, traces, etc. An ETL is linked to a workflow through theworkflow_id.
For example, on a workflow “Renewal”, we have an ETL called agre-renewal, which has its own data with filters, its own database name in metabase, and so on.
ETL is a Job
Below is a representation of an ETLETL and data typed EtlJobData
DTO
Name of the etl
The frequency of the etl job. Must match cron expression literal. See (see
cron expression )
Description of the etl
Starting date of the ETL, if scheduled, it will start at this time.
Ending date of the ETL, if scheduled, it will end at this time.
Docker image name used for this ETL. One ETL can have its own docker image
(for example, financial flow has its own set of calculation and has its own
docker image)
Sentry monitor slug name, available in Sentry when you create a cron
monitor. Slug enables Sentry to
identify the monitor within your app. Whenever a job is running with this
slug, Sentry can link it to the monitor and display its results (status,
triggering date, etc).
Sentry DSN (Data Source Name), available in Sentry when you create a sentry
project DSN. A DSN
tells a Sentry where to send events so the events are associated with the
correct project.
Metadata is an object that takes a property
store_execution_logs, which is a
boolean. By default, this property is set to false, which means Launcher-API
won’t store the logs of the pods. This has been decided for storage purpose,
as a log can take lot of memory. To enable logs written in database, you would
need to put the store_execution_logs to true.Data details of an ETL. Check EtlData DTO
EtlData DTO
Schema name from the metabase database. It’s in snake_case
Database name from metabase. It is also in snake_case.
IDs of the workflow. Typically one ID per workflow. Array of number
Filters to remove tables from the ETL. Array of strings
Filters to remove columns from table. Array of string.