Paradime Help Docs
Ask or search…
K

Audit environment variables

Paradime provides a set of system environment variables that can be added to your dbt™️ models to inject metadata at run time to add more information to your materialized tables in your data warehouse.
These can be used to help identify which schedules run relates to a given row of data in your tables.
Vairable name
example
PARADIME_WORKSPACE_NAME
jaffle_shop
PARADIME_SCHEDULE_NAME
hourly_run
PARADIME_SCHEDULE_RUN_ID
39828
PARADIME_SCHEDULE_RUN_START_DTTM
2022-07-15 21:50:21.268372
PARADIME_SCHEDULE_TRIGGER
one of:
PARADIME_SCHEDULE_GIT_SHA
4a9fcff9277dfabd447157dea86dd7fdbd17d6f8

Include env variables in your dbt™️ models to audit your runs

Include any of the above variable in your dbt™️ models. At run time, for each row of data in your data warehouse tables, with metadata to help audit each row.
{% set payment_methods = ['credit_card', 'coupon', 'bank_transfer', 'gift_card'] %}
with orders as (
select * from {{ ref('stg_orders') }}
),
order_payments as (
select * from {{ ref('order_payments') }}
),
final as (
select
orders.order_id,
orders.customer_id,
orders.order_date,
orders.status,
{% for payment_method in payment_methods -%}
order_payments.{{payment_method}}_amount,
{% endfor -%}
order_payments.total_amount as amount
from orders
left join order_payments using (order_id)
)
select
*,
-- Inject the audit metadata if available, otherwise use "manual"
'{{ env_var("PARADIME_WORKSPACE_NAME", "manual") }}' as _audit_workspace_name,
'{{ env_var("PARADIME_SCHEDULE_NAME", "manual") }}' as _audit_schedule_name,
'{{ env_var("PARADIME_SCHEDULE_RUN_ID", "manual") }}' as _audit_schedule_run_id,
'{{ env_var("PARADIME_SCHEDULE_RUN_START_DTTM", "manual") }}' as _audit_schedule_run_start_dttm,
'{{ env_var("PARADIME_SCHEDULE_TRIGGER", "manual") }}' as _audit_schedule_trigger,
'{{ env_var("PARADIME_SCHEDULE_GIT_SHA", "manual") }}' as _audit_schedule_git_sha,
from final