Auto-scale, pause, or resume a Fabric Capacity on a time-based schedule. This ARM template lets you run a capacity when you need it, and fall back to a lower tier or pause the capacity outside peak hours. This way, you can trial higher performance on a pay-as-you-go basis instead of immediately committing to a more expensive, always-on tier.
Prerequisites
This assumes you already have a Fabric capacity deployed. To deploy the ARM template, install Azure CLI if you haven’t already. Afterwards, run az login to create a connection with Azure.
Deploy the ARM template
Deploy a time-based schedule with one Azure CLI command.
1 | az deployment group create --resource-group <resource-group> --parameters capacityName='<capacity-name>' schedules='<schedule>' --name fabricautoscale --template-uri "https://raw.githubusercontent.com/breght-van-baelen/FabricAutoScaling/refs/heads/main/DeployFabricAutoScale.json" |
You only have to fill-in 3 placeholders in this command, namely <resource-group>, <capacity-name> and <schedule>.
The placeholder <schedule> can be filled-in as an array of scheduling actions in the following structure.
1 |
|
Below are a few examples of how the placeholder <schedule> can be filled-in.
Upscale the capacity from F64 to F128 every day between 9am and 5pm:
1 | [ |
Pause the capacity in the weekends:
1 | [ |
Outcome
This ARM template will create an automation account in the resource group of the Fabric Capacity, that schedules a runbook. By default the deployed resources will be located in uksouth. you can change the region by adding location='<region>' to the --parameters in the Azure CLI command.