Configuration
Universal Data Generator takes two inputs: the catalog and a run configuration. The catalog is the menu you choose from. The run configuration is the order you place.
The catalog
The catalog is JSON embedded in UniDataGen.Configuration, with no dependency on a spreadsheet. CatalogStore.Load()
builds the catalog from these embedded resources:
| Resource | Contents |
|---|---|
industries.json |
The industries you can select. |
source-types.json |
The source-system types (code, type, description). |
storage.json |
The storage target names. |
entities.json |
The entities (schema area, name, display name, description, base entity). |
attributes.json.gz |
The full attribute schema per entity (datatype, purpose, nullability), gzip-compressed. |
The attributes.json data drives value generation: each attribute's CDM datatype and purpose decide whether the
engine stamps the field or asks Foundry for it. The catalog is built once and cached.
Note: The attribute schema is large (over one hundred thousand attributes), so it ships gzip-compressed and is decompressed on first access.
To change the catalog, edit the JSON resources under src/UniDataGen.Configuration/Resources and rebuild. The
industry and entity lists are also surfaced by ReferenceCatalog and used by the configuration editor as
validated dropdowns.
The run configuration
The run configuration is a JSON document with three parts: the run header, the entity profiles, and the targets. See Run configuration for the full reference, and samples/run-config.sample.json for a complete example.
The run header names one industry and one source type. The loader validates them against the catalog, so a typo fails at load rather than mid-run.
Environment variables
| Variable | Used by | Purpose |
|---|---|---|
APPLICATIONINSIGHTS_CONNECTION_STRING |
All hosts | Routes logs to Application Insights. |
DATAGEN_CONFIG |
Functions host | Path to the run configuration. |
DATAGEN_OFFLINE |
Functions host | Set to true to skip Foundry and use placeholder values. |
Next steps
- Quick start runs a generation offline.
- Targets explains where generated data goes.