Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Fabric Configuration

Overview

Global config — workspaces, lakehouses, prefixes. Loaded once via ConfigManager; passed to every loader call.

What gets generated

StageComponentOutput
RuntimeEasyFabric Runtime (EFR)easyfabric.data.initialize_config, easyfabric.data.ConfigManager.from_yaml_file

Example YAML

Dataplatform/DP/Configuration/dp.acc.yaml

 Environment: ACC
EnvironmentDescription: Production
ServiceConnection: SC_Demo_ACC
resourceGroupName: rg-fabric-demo
VsSolutionName: Fabric.sln
functionAppName: func-demo-ACC
apiconfigfile: Dataplatform/DP/Configuration/apiConfig.yaml
MetaFolder: "/lakehouse/default/Files"
TenantId: e0246fdb-58a0-4d47-870a-2705f2ec020b
ApplicationClientId: 0de4e0a2-0227-4206-896c-51ac9f03f654
ApplicationKeyvaultSecret: BIFabricDev-AppReg
ColumnNamesToLower: true
ColumnNamesAutoFix: true
RemoveNewLineFromScripts: false
BronzeConnectionPrefix: true
tempFolder: Temp
dataplatformFolder: Generator/Dataplatform/DP
databaseFolder: Objects
databaseOutputFolder: FabricBuilds/Databases
notebooksFolder: Notebooks
notebooksOutputFolder: FabricBuilds/Notebooks
RequestFolder: Requests
fabricProjectName: FabricBuilds
DimObjectPrefix: d
DimSurrogatekeyPrefix: SK_
FactObjectPrefix: f
TransformationObjectPrefix: t
workspace: FB-Demo-ACC
keyvault: kv-dev-6721
bronzefolder: ""
SchemaHistory: his
lakehouses:
- layer: Bronze
workspace: FB-Demo-ACC
lakehouse: Bronze
fileCleanupActive: true
maxRetentionHours: 8784
- layer: Silver
workspace: FB-Demo-ACC
lakehouse: Silver
- layer: Gold
workspace: FB-Demo-ACC
lakehouse: Gold
- layer: Meta
workspace: FB-Demo-ACC
lakehouse: Meta
models:
- model: DM
tabularName: DM
compatibilityLevel: 1700
addMembers: false
DatabaseSchema: dbo
workspace: FB-Demo-ACC
DefaultPowerBIDataSourceVersion: powerBI_V3
loginType: spn
partitionDeployment: deploypartitions
roleDeployment: RetainRoles
lakehouse: Gold
BimFolder: DM
bimFile: Model.bim
sourceQueryCulture: en-US
ModelFolder: Models/DM
ModelFile: model.yaml
datasourceType: fabric
datasourceName: DefaultDS
LakehouseSourceConnection: Gold
tabularSystemFolder: Technisch
measureTemplateFile: measuretemplates.yaml
formatStringFile: formatstrings.yaml
roleFile: roles.yaml
- model: DM-Sales
tabularName: DM Sales
compatibilityLevel: 1700
addMembers: false
DatabaseSchema: dbo
workspace: FB-Demo-ACC
DefaultPowerBIDataSourceVersion: powerBI_V3
loginType: spn
partitionDeployment: deploypartitions
roleDeployment: RetainRoles
lakehouse: Gold
BimFolder: DM-Sales
bimFile: Model.bim
sourceQueryCulture: en-US
ModelFolder: Models/DM
ModelFile: model.yaml
DerivedModelFile: derived-sales.yaml
datasourceType: fabric
datasourceName: DefaultDS
LakehouseSourceConnection: Gold
tabularSystemFolder: Technisch
measureTemplateFile: measuretemplates.yaml
formatStringFile: formatstrings.yaml
roleFile: roles.yaml
reports:
- groupname: Examples
filepath: Generator/Dataplatform/DP/Reports/Examples/reports.yaml
reportfolder: "Generator/Dataplatform/DP/Reports/Examples"
bronzetablesettings:
delta.enableChangeDataFeed: false
delta.autoOptimize.optimizeWrite: true
delta.autoOptimize.autoCompact: true
delta.logRetentionDuration: 720 hours
delta.deletedFileRetentionDuration: 720 hours
spark.sql.parquet.vorder.default: false
delta.stats.extended.collect: false
delta.stats.extended.inject: false
silvertablesettings:
delta.enableChangeDataFeed: true
delta.autoOptimize.optimizeWrite: true
delta.autoOptimize.autoCompact: true
delta.logRetentionDuration: 720 hours
delta.deletedFileRetentionDuration: 720 hours
spark.sql.parquet.vorder.default: true
delta.stats.extended.collect: true
delta.stats.extended.inject: true
goldtablesettings:
delta.enableChangeDataFeed: false
delta.autoOptimize.optimizeWrite: true
delta.autoOptimize.autoCompact: true
delta.logRetentionDuration: 1440 hours
delta.deletedFileRetentionDuration: 168 hours
spark.sql.parquet.vorder.default: true
delta.stats.extended.collect: true
delta.stats.extended.inject: true
blobtriggers:
- blobtrigger: stg
storageAccount: triggerstorageacc
backupStorageAccount: backupstorageacc
container: dropzone
filter: \.(xlsx)$
notebook: Trigger_Files
fabricfolder: dropzone
backups:
- backupname: BronzeHistory_Backup
enabled: true
storageaccount: backupstorageacc
container: bronzebackup
layer: bronze
schema: [his]
tablefolder: "Files/Objects"
exceptfolders: None

Schema reference

Required fields marked *. Linked types are collapsible — click to expand inline.

Fabric Configuration

The configuration needed to build the model

NameTypeDescription
Lakehouses *List<FabricLakehouse>List of lakehouses used in the medallion layer
Show optional fields (28)
NameTypeDescription
BronzeConnectionPrefixtrue/falseUse prefix from ConnectionPrefix for the bronze objects (default=true)
BronzeKeepSourceColumnNamestrue/falseUse the source names even when overriden on bronze (default=false)
BronzeObjectPrefixStringPrefix for bronze objects with this (default='')
BronzeTableSettingsFabricTableSettingsTable Settings for Bronze
ColumnNamesAutoFixtrue/falseAuto fix column names that start with a digit or underscore by prefixing a 'z' (e.g. 2024abc -> z2024abc, _internal -> z_internal) (default=true)
ColumnNamesToLowertrue/falseGenerate all column names to lower (default=true)
DefaultEncodingHintKeyColumnsStringDefault Encoding Hint for Key columns (Default=value)
DefaultEncodingHintRegularColumnsStringDefault Encoding Hint for regular columns (Default=default)
DimBusinesskeyPrefixStringPrefix of the businesskey column for the dimension (default='BK_')
DimObjectPrefixStringPrefix used for dimensions in the dataplatform (default='D')
DimSurrogatekeyPrefixStringPrefix used for dimensions surrogate keys in the dataplatform (default=SK_)
FactObjectPrefixStringPrefix used for fact objects in the dataplatform (default='F')
GoldTableSettingsFabricTableSettingsTable Settings for Gold
HistoryTablePostfixStringPostfix used for objects with history (default='')
IsBronzeStringTypestrue/falseCreate fields in bronze layer (for the landing table) with datatype string. Can be overridden per connection (default=true)
ObjectPartitionColumnStringName of the partitioncolumn added to transformation and fact objects (default='SYSTEMPARTITION')
ObjectSourceTagColumnStringName of the system source tag column added to the Bronze, Silver and Gold objects. Can be used to add for example the batchid (default='SYSTEMSOURCETAG')
RemoveNewLineFromScriptstrue/falseRemove newline from generated script. Convenient when using the result in Python in Fabric (default=false)
SilverConnectionPrefixtrue/falseUse the connection prefix for object names on silver (default=true)
SilverConvertedColumntrue/falseCreate a Silver column that holds the converted value from Bronze if an expression is set for Silver. Can be overridden on the attribute level. (default=true)
SilverConvertedPostfixStringThe postfix that is added to the converted column in the silver layer. (default='_convert')
SilverInitialColumntrue/falseCreate a Silver column that holds the original value from Bronze if an expression is set for Silver. Can be overridden on the attribute level. (default=true)
SilverObjectPrefixStringPrefix for silver objects with this (default='')
SilverPrimarykeySeparatorStringSeparator used for the field SYSTEMPRIMARYKEY in the silver table (default='
SilverTableSettingsFabricTableSettingsTable Settings for Silver
SurrogateKeyUnknownValueStringDefault value for surrogate key when no match is found, default also used for GUID fields. (default='-1')
TransformationBusinessKeysNotNulltrue/falseBusiness keys in transformation objects mandatory aka NOT NULL (default=false)
TransformationObjectPrefixStringPrefix used for transformation objects in the dataplatform (default='T')
Fabric LakehouseA place where you store both "raw" data (like files) and "organized" data (like tables). It combines the best of a File Cabinet and a Database.
NameTypeDescription
Lakehouse *StringName of the lakehouse for the given layer
Layer *FabricMedallionLayerLayer for the medallion architectureA way of organizing data into three stages: Bronze (raw), Silver (cleaned), and Gold (ready for reports).: Bronze, Silver, Gold
Workspace *StringFabric Workspace name (workspace has to exist and user needs access)
Show optional fields (2)
NameTypeDescription
DefaultSchemaStringUse this schema for this lakehouse (default=dbo or his for bronze history)
UseSchematrue/falseUse schema for this lakehouse (default=true)

EasyFabric Runtime

data.initialize_config

def initialize_config(file_path: str = "Files/Configuration/config.yaml")

Load and cache the global ConfigManager from a YAMLA simple way to write configurations. It's basically a list that computers can read easily. file.

Uses double-checked locking so only the first call reads from disk; subsequent calls return the cached instance.

Arguments:

  • file_path - Path to the config.yaml file.

Returns:

The initialised ConfigManager singleton.

Raises:

  • FileNotFoundError - If the config file does not exist.

data.ConfigManager.from_yaml_file

@classmethod
def from_yaml_file(cls, file_path: str = "Files/Configuration/config.yaml")

Create a Model instance from a YAML file.

  • easyfabric.data.ConfigManager