Skip to content

What is a Data Distributions?

A data distribution is create in order to distribute data to downstream systems.

provide_diagram

Data Distribution config?

  • In order to enable the data distributions to downstream systems we need to create a distribution. A distribution needs to specify the following components:
  • A schema or collection that specifies which data needs to be included.
  • The data format, ie. CSV, XML, JSON
  • A data sink that specifies where the data will go, ie. Email, SFTP etc
  • A list of cron schedules, if the data needs to be automatically distributed at set times.

Example of a completed Distribution configuration

The Distribution config below distributes all CUSTOMER schema data, via email as a CSV attachhment, every day at 1am

DISTR_CUSTOMER_EMAIL_ATTACH_CSV_1AM.xml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <apiroConf>
        <loadOrder>30</loadOrder>
        <distributions>
            <distribution name="DISTR_CUSTOMER_EMAIL_ATTACH_CSV_1AM">
                <description>Distributes all CUSTOMER schema data, via email as a CSV attachhment, every day at 1am</description>
                <dataBlockCollection name="DATABLOCK_COLLECTION" entity="DISTR_CUSTOMER_EMAIL_ATTACH_CSV_1AM" />
                <formatter name="FORMATTER" entity="CSV"/>
                <dataSinks>
                    <dataSink name="EMAIL_ATTACH" entity="[DATA_SINK_ENTITY]"/>
                </dataSinks>

                <autoTrigger>false</autoTrigger>
                <cronTriggers>
                    <cronTrigger>
                        <description>Executes at 1am every day</description>
                        <!--https://freeformatter.com/cron-expression-generator-quartz.html-->
                        <cron>"0 0 1 ? * * *"</cron>
                    </cronTrigger>
                </cronTriggers>

            </distribution>
        </distributions>
    </apiroConf>