Skip to main content

YAML Properties Reference

This page provides a comprehensive overview of all YAML properties used across the EasyFabricCore system. It specifically identifies which properties are utilized by the major system components.

Component Overview

  • API: Web API that receives JSON requests (converted from YAML) to generate Fabric objects.
  • Dataplatform: Desktop application (Generator.exe) that reads YAML files to generate notebooks, tables, and configurations.
  • Wheel Package (easyfabric-py): Python library used at runtime in Fabric notebooks to load and process data.

Configuration Properties

Defined in the main environment configuration file (e.g., dp.dev.yaml).

PropertyAPIDataplatformWheel PackageDescription
BronzeConnectionPrefixUse prefix from ConnectionPrefix for bronze objects (default=true)
BronzeKeepSourceColumnNamesUse source names even when overridden on bronze (default=false)
BronzeObjectPrefixPrefix for bronze objects (default='')
BronzeTableSettingsTable settings for Bronze layer (Delta properties)
ColumnNamesToLowerGenerate all column names to lower (default=true)
ColumnNamesAutoFixAuto fix columns with only numbers by adding 'z' prefix (default=true)
DefaultSeparatorSeparator used for object names (default='_')
DimBusinesskeyPrefixPrefix of businesskey column for dimensions (default='BK_')
DimObjectPrefixPrefix used for dimensions (default='D')
DimSurrogatekeyPrefixPrefix used for dimension surrogate keys (default='SK_')
FactObjectPrefixPrefix used for fact objects (default='F')
HistoryTablePostfixPostfix used for objects with history (default='')
IsBronzeStringTypesCreate fields in bronze layer with datatype string (default=true)
LakehousesList of lakehouses used in medallion layer
ObjectPartitionColumnName of partition column (default='SYSTEMPARTITION')
ObjectSourceTagColumnName of system source tag column (default='SYSTEMSOURCETAG')
RemoveNewLineFromScriptsRemove newline from generated scripts (default=true)
SchemaHistorySchema name for history tables (default='his')
SilverConnectionPrefixUse connection prefix for object names on silver (default=true)
SilverConvertedColumnCreate Silver column with converted value (default=true)
SilverConvertedPostfixPostfix for converted column in silver (default='_convert')
SilverInitialColumnCreate Silver column with original value (default=true)
SilverObjectPrefixPrefix for silver objects (default='')
SilverPrimarykeySeparatorSeparator for SYSTEMPRIMARYKEY field (default='
SilverTableSettingsTable settings for Silver layer (Delta properties)
SurrogateKeyUnknownValueDefault value for surrogate key when no match (default='-1')
TransformationBusinessKeysNotNullBusiness keys in transformation objects mandatory (default=false)
TransformationObjectPrefixPrefix used for transformation objects (default='T')
DefaultEncodingHintKeyColumnsDefault encoding hint for key columns (default='Value')
DefaultEncodingHintRegularColumnsDefault encoding hint for regular columns (default='Default')

Connection Properties

Defined in connection YAML files (e.g., adv-advworks.yaml).

PropertyAPIDataplatformWheel PackageDescription
ConnectionNameName of the connection
ConnectionPrefixPrefix used when connection prefix is enabled
ConnectionTypeType of connection (e.g., fabricfiles, sqlserver)
BronzeFolderFolder path for bronze files
BronzeKeyViolationActionAction on key violations (raise/keepone/remove)
BronzeLoadOrderLoad order for bronze notebooks
BronzeLoadSkipSkip bronze loading (default=false)
BronzeNotebookConcurrencyConcurrency for bronze notebooks (default=0)
BronzeTableSettingsTable settings for Bronze at connection level
CharsetCharacter set for file reading
ContainerStorage container name
DateformatDefault date format for parsing
DelimiterCSV delimiter (default=',')
EscapeEscape character for CSV
FileExtensionFile extension filter
FileTypeType of file (csv, json, xml, parquet, etc.)
HeaderCSV has header row (default=true)
IgnoreNullKeyIgnore records with null keys (default=true)
InferSchemaInfer schema from data (default=false)
IsBronzeStringTypesOverride config setting for this connection
IsTriggerableConnection can be triggered (default=true)
JsonPathJSON path for extracting data
KeyvaultSecretConnectionStringKeyvault secret name for connection string
ModeSpark read mode (default='PERMISSIVE')
MultilineSupport multiline records (default=false)
NotebookTimeoutDefault timeout for notebooks (default=1800)
ProcessTypeType of processing
QuoteQuote character for CSV
QuoteModeQuote mode for CSV
SilverLoadOrderLoad order for silver notebooks
SilverNotebookConcurrencyConcurrency for silver notebooks (default=10)
SilverTableSettingsTable settings for Silver at connection level
SourceFolderSource folder path

Object/Table Properties

Defined in object YAML files (e.g., customers.yaml).

PropertyAPIDataplatformWheel PackageDescription
ConnectionConnection to use for this object
SourceTableName of the object in the source
SourceSchemaSource schema (if applicable)
DataPlatformObjectNameOverride source name in dataplatform
DescriptionDescription of the source
IsActiveSet to active for generating (default=true)
KeepHistoryHistory required in silver layer (default=true)
KeepOneDayRecordsKeep only one day of records
LayersWhich layers to generate (ALL/Bronze/Silver/Gold)
PrefixSet a prefix for this object
Columns / FieldsList of columns/fields from source
BronzeTableSettingsTable settings for Bronze at object level
SilverTableSettingsTable settings for Silver at object level
SourceFilterFilter query for source data
SourceFolderOverride source folder
SourceOrderOrder by clause for source
BronzeFolderOverride bronze folder
BronzeKeyViolationActionOverride connection setting
BronzeLoadOrderOverride connection load order
BronzeLoadSkipSkip bronze load for this table
BronzeLoadViolationActionAction on load violations (continue/stop)
BronzeMaxExpectedDurationMax expected duration for bronze (default=1800)
DateFormatOverride date format for this table
FileExtensionOverride file extension
FileTypeOverride file type
HistorySettingsHistory-specific settings
IgnoreNullKeyOverride ignore null key setting
PreBronzeNotebookNotebook to run before bronze
MidBronzeNotebookNotebook to run during bronze
PostBronzeNotebookNotebook to run after bronze
PreSilverNotebookNotebook to run before silver
MidSilverNotebookNotebook to run during silver
PostSilverNotebookNotebook to run after silver
BronzeNotebookCustom bronze notebook
SilverNotebookCustom silver notebook
SheetNameExcel sheet name
SilverLoadOrderOverride silver load order
SilverLoadTypeLoad type (full/incremental, default='full')
SilverMaxExpectedDurationMax expected duration for silver (default=1800)
TriggerTrigger configuration
XmlRowPathXML row path for parsing

Column/Field Properties

Defined within the Columns or Fields array in object files.

PropertyAPIDataplatformWheel PackageDescription
SourceColumnName of the attribute in source system
SourceDataTypeDatatype of the source
DataPlatformNameOverride name used in dataplatform
IsPrimaryKeyAttribute is part of primary key (default=false)
IsNullableAttribute can be null (default=true for non-PK)
IsActiveAttribute is active (default=true)
IsSilverOnlyAttribute only generated for Silver (default=false)
IsPartitionAttribute is part of partition column (default=false)
SilverDataTypeDatatype used in Silver layer
SilverExpressionExpression to fill Silver column
SilverConvertedColumnCreate converted column (default=true)
SourceExpressionExpression for Bronze layer conversion
ClassificationField classification (sensitive/restricted/internal/public)
HstgTypeType used in HSTG (historization)
DefaultValueDefault value for column
DateFormatDate format for this column
DestinationColumnDestination column name (legacy)
ConversionExpressionConversion expression (legacy)
IsZOrderUse column for Z-ordering (default=false)
IsDeletedIdentifierColumn identifies deleted records (default=false)

History Settings Properties

Nested within HistorySettings in table configuration.

PropertyAPIDataplatformWheel PackageDescription
BronzeDeleteFilterQueryFilter query for bronze delete operations
BronzeSkipDeleteSkip delete operations in bronze (default=false)
SourceFilterQueryFilter query for source data
SilverFilterQueryFilter query for silver data

Notebook Configuration Properties

Nested within notebook configuration objects (e.g., PreBronzeNotebook).

PropertyAPIDataplatformWheel PackageDescription
NotebookNotebook name to execute
TimeoutTimeout for notebook execution
Param001 - Param003Parameters to pass to notebook

Trigger Properties

Nested within Trigger configuration.

PropertyAPIDataplatformWheel PackageDescription
NotebookNotebook to trigger
NotifyWebhookUrlWebhook URL for notifications
NotifyWebhookTypeType of webhook notification

Lakehouse Properties

Defined within the Lakehouses array in environment configuration.

PropertyAPIDataplatformWheel PackageDescription
LakehouseName of the lakehouse
LayerLayer (Bronze/Silver/Gold/Meta)
WorkspaceFabric workspace name
UseSchemaUse schema for this lakehouse (default=true)
DefaultSchemaSchema to use (default='dbo' or 'his' for history)

Table Settings Properties

Nested within BronzeTableSettings or SilverTableSettings. These accept any valid Delta Lake table properties.

PropertyAPIDataplatformWheel PackageDescription
delta.enableChangeDataFeedEnable change data feed
delta.autoOptimize.optimizeWriteEnable optimize write
delta.autoOptimize.autoCompactEnable auto compaction
delta.logRetentionDurationLog retention duration
delta.deletedFileRetentionDurationDeleted file retention
spark.sql.parquet.vorder.defaultEnable V-Order
delta.stats.extended.collectCollect extended statistics
delta.stats.extended.injectInject extended statistics
(Any Delta property)FabricTableSettings accepts arbitrary Delta properties

Notes

  1. API receives YAML converted to JSON in web requests and uses C# model classes to deserialize
  2. Dataplatform reads YAML files directly from disk and uses the same C# model classes
  3. Wheel Package reads YAML files at runtime in notebooks using Python dataclasses
  4. Properties marked with ✅ are actively used by that component
  5. Properties marked with — are not used by that component
  6. Table Settings can be defined at three levels (Configuration → Connection → Object) with object-level overriding connection-level, which overrides configuration-level
  7. The Dataplatform and API share the same model classes, so they support identical properties for object/field/configuration definitions
  8. The Wheel Package has additional runtime properties for orchestration, notebook execution, and data loading that are not needed during generation