Deployment
This guide covers running Universal Data Generator in Azure. The most common deployment is the Functions host on a timer, writing to one or more Azure targets.
Identity and roles
Use a managed identity and Microsoft Entra rather than keys. Grant the identity the role each target requires:
| Target | Role |
|---|---|
| ADLS Gen2 (NDJSON or Parquet) | Storage Blob Data Contributor |
| Event Hubs | Azure Event Hubs Data Sender |
| Azure AI Foundry | The model deployment access role on the Foundry resource |
Functions host
- Create a Function App on the .NET isolated worker.
- Set the app settings:
DATAGEN_CONFIG,APPLICATIONINSIGHTS_CONNECTION_STRING, andDATAGEN_OFFLINEif needed. - Deploy the run config with the app, or read it from storage. The catalog is embedded in the app.
- Assign the Function App managed identity the roles above.
Note: The default timer is
0 */5 * * * *, which runs every five minutes for a pass of up to four and a half minutes so invocations do not overlap. Adjust the cron expression for your cadence.
Container support
The libraries and the non-WinForms hosts publish as containers with the built-in .NET container support:
dotnet publish hosts/UniDataGen.Foundry.Tool --os linux --arch x64 -p:PublishProfile=DefaultContainer
Observability
Set APPLICATIONINSIGHTS_CONNECTION_STRING so every tier logs to Application Insights. See
Logging for the structured properties and an example query.