Quick Start¶
Home > User Guide > Quick Start
Get up and running with the Ingenious Fabric Accelerator in just a few minutes! This guide will walk you through creating your first project and deploying it to Microsoft Fabric.
Prerequisites¶
Before starting, ensure you have:
- Installed the Ingenious Fabric Accelerator (Installation Guide)
- Access to a Microsoft Fabric workspace
- Basic understanding of SQL and Python
Step 1: Initialize Your First Project¶
Create a new project with the complete starter template:
Using Sample Project Template
For a more comprehensive starting point with platform manifests and example configurations, add the --with-samples flag:
sample_project template which includes pre-configured platform manifests for multiple environments. This creates the following structure with complete starter files:
dp/
├── dbt_project/ # dbt project folder
│ ├── macros/ # dbt macros
│ ├── metaextracts/ # dbt metadata extracts
│ ├── models/ # dbt models
│ ├── dbt_project.yml # dbt project configuration
│ └── README.md # initial README file
├── ddl_scripts/ # Sample DDL scripts included
│ ├── Lakehouses/ # Python DDL scripts for Delta tables
│ └── Warehouses/ # SQL DDL scripts for warehouses
├── fabric_workspace_items/ # Complete Fabric workspace structure
│ ├── config/ # Pre-configured variable library
│ ├── lakehouses/ # Sample lakehouse definitions
│ └── warehouses/ # Sample warehouse definitions
├── platform_manifest_*.yml # Environment deployment tracking
└── README.md # Complete setup instructions
Step 2: Configure Your Environment¶
Set up environment variables and configure your workspace details:
# Set environment (development, UAT, production)
$env:FABRIC_ENVIRONMENT = "development"
# Set workspace directory
$env:FABRIC_WORKSPACE_REPO_DIR = "dp"
Now edit the development environment variables:
Replace the placeholder values with your actual workspace IDs: Note: You can modify lakehouse and warehouse names as needed. To do that, variable names must match the names under variables.json file. ** Do not modify config lakehouse/warehouse names **
{
"name": "development",
"variableOverrides": [
{
"name": "fabric_environment",
"value": "development"
},
{
"name": "fabric_deployment_workspace_id",
"value": "your-workspace-guid" // ← Replace this
},
{
"name": "config_workspace_id",
"value": "your-config-workspace-guid" // ← Replace this
},
{
"name": "config_lakehouse_id",
"value": "your-config-lakehouse-guid" // ← Replace this once created
}
]
}
Finding Your Workspace IDs
You can find workspace and lakehouse IDs in the Microsoft Fabric portal URL when you navigate to your workspace or lakehouse.
Step 3: Configure Storage and Generate Artifacts¶
Define your lakehouses, warehouses, and SQL databases in the storage configuration file, then automatically generate the required Fabric artifacts:
3.1 Review and Edit storage_config.yaml¶
Open dp/fabric_config/storage_config.yaml and configure your lakehouses, warehouses, and SQL databases:
storage:
- lakehouse: local
lh_bronze: lh_bronze
lh_silver: lh_silver
lh_gold: lh_gold
- warehouses: local
wh_gold: wh_gold
wh_reporting: DO_NOT_CREATE # Use DO_NOT_CREATE to skip resources
- sqldatabases: local
sqldb_analytics: sqldb_analytics
sqldb_staging: none # Use none or DO_NOT_CREATE to skip resources
Storage Configuration Tips
- Add or remove lakehouses, warehouses, or SQL databases as needed for your project
- Use
DO_NOT_CREATEornonefor any resource you don't want to create - The
localvalue indicates these resources belong to the local workspace configuration
3.2 Generate Storage Artifacts¶
Run the storage configuration command to automatically create all required files:
This command will: - ✅ Create lakehouse folders (e.g., lh_bronze.Lakehouse, lh_silver.Lakehouse, lh_gold.Lakehouse) - ✅ Create warehouse folders (e.g., wh_gold.Warehouse) - ✅ Create SQL database folders (e.g., sqldb_analytics.SQLDatabase) if configured - ✅ Generate Fabric artifact files (.platform, metadata files, with random GUID for logicalID that will have no impact when deployed to fabric) - ✅ Update variables.json with variable definitions - ✅ Update all environment valueSet files (development.json, test.json, production.json....)
Expected Output:
Found 3 lakehouse(s): lh_bronze, lh_silver, lh_gold
Found 1 warehouse(s): wh_gold
📦 Processing lakehouses...
✓ Created lh_bronze.Lakehouse (ID: a1b2c3d4...)
✓ Created lh_silver.Lakehouse (ID: e5f6g7h8...)
✓ Created lh_gold.Lakehouse (ID: i9j0k1l2...)
🏢 Processing warehouses...
✓ Created wh_gold.Warehouse (ID: m3n4o5p6...)
📝 Updating variable library definitions...
✓ Added 12 variable definition(s) to variables.json
📝 Updating variable library valueSets...
✓ Updated development.json (added 12 variables)
✓ Updated test.json (added 12 variables)
✓ Updated production.json (added 12 variables)
============================================================
✓ Successfully created 4 artifact folder(s)
• 3 lakehouse(s)
• 1 warehouse(s)
✓ Updated variables.json with new variable definitions
✓ Updated 3 valueSet file(s) with new variables
What Gets Created
For each lakehouse, the command creates: - Artifact folder: fabric_workspace_items/lakehouses/{name}.Lakehouse/ - Variables: {name}_workspace_id, {name}_lakehouse_name, {name}_lakehouse_id
For each warehouse, the command creates: - Artifact folder: fabric_workspace_items/warehouses/{name}.Warehouse/ - Variables: {name}_workspace_id, {name}_warehouse_name, {name}_warehouse_id
3.3 Deployment Note¶
When you run the deployment command later (Step 6), these lakehouses and warehouses will be automatically deployed to your Fabric workspace afterwitch you can run the "ingen_fab init workspace --workspace-name 'dp" command to update the variable valueSet.json files.
Step 4: Explore the Sample DDL Scripts¶
The sample project template includes sample DDL scripts to get you started. Take a look at what's included:
dp/
├── ddl_scripts/ # Sample DDL scripts included
├── Lakehouses/ # Python DDL scripts for Delta tables
│ ├── lh_bronze/ # sample python ddl scripts for the bronze lakehouse
│ ├── lh_silver/ # sample python ddl scripts for the silver lakehouse
│ ├── lh_gold/ # sample python ddl scripts for the gold lakehouse
└── Warehouses/ # SQL DDL scripts for warehouses
└── wh_gold/ # sample sql ddl scripts for the gold warehouse
The sample scripts create a customer table and insert sample data. You can: - Use them as-is to test the workflow - Modify them for your data model - Create additional scripts following the same pattern
DDL Script Conventions
- Scripts are executed in alphabetical order by filename
- Use numbered prefixes (001_, 002_, etc.) to control execution order
- Lakehouse scripts use Python with Spark SQL
- Warehouse scripts use T-SQL syntax
Step 5: Generate DDL Notebooks¶
Transform your DDL scripts into executable notebooks:
💡Remember to set your environment variables first.
# Generate notebooks for lakehouses
ingen_fab ddl compile --generation-mode Lakehouse
# Generate notebooks for warehouses (if you have any)
ingen_fab ddl compile --generation-mode Warehouse
This creates orchestrator notebooks in fabric_workspace_items/ddl_scripts/ that will: - Execute your DDL scripts in the correct order - Track execution state to prevent duplicate runs - Provide comprehensive logging and error handling
Step 6: Deploy to Fabric¶
Deploy your project to your Fabric workspace:
Deploy python libraries:
# Deploy python libraries - these libraries are required for ddl script execution
ingen_fab deploy upload-python-libs
Authentication Required
Make sure you've set up your Azure credentials before deploying. You can use Azure CLI (az login) or environment variables.
Lakehouse & Warehouse Deployment
When you run ingen_fab deploy deploy, the lakehouses and warehouses you configured in Step 3 will be automatically created in your Fabric workspace!
Step 7: Run Your DDL Scripts¶
- Navigate to your Fabric workspace in the Microsoft Fabric portal
- Find the generated notebooks in the
ddl_scriptsfolder - Run the orchestrator notebook:
00_all_lakehouses_orchestrator
The orchestrator will: - Execute all DDL scripts in the correct sequence - Log execution status and prevent duplicate runs - Handle errors gracefully with detailed logging
Next Steps¶
Now that you have a working project, you can:
- Learn more commands - Explore all available CLI commands
- Study the sample project - See a complete real-world example
- Understand workflows - Learn best practices for development and deployment
- Explore Python libraries - Understand the available utilities
Troubleshooting¶
Common Issues¶
Deployment fails with authentication error:
# Set up Azure authentication
az login
# Or set environment variables
export AZURE_TENANT_ID="your-tenant-id"
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"
DDL scripts fail to execute: - Check that your workspace and lakehouse IDs are correct - Ensure your DDL scripts have valid syntax - Check that you have deployed your python libraries - Review the execution logs in the Fabric notebook output
DDL Notebooks not generated: - Verify that your DDL scripts are in the correct directory structure - Check that file names start with numbers (001_, 002_, etc.) - Ensure scripts have proper file extensions (.py or .sql)
Getting Help¶
- Use
ingen_fab --helpfor command-specific help - Check the Examples for more complex scenarios
- Review the Workflows for best practices
Congratulations!
You've successfully created and deployed your first Fabric project! You're now ready to build more complex data solutions with the Ingenious Fabric Accelerator.