Skip to content
Ask the community about this page

Create a Fabric Capacity Scaling package

Timextender Orchestration & Data Quality 23.3+Timextender Data Platform 26.3+cloud

A Fabric Capacity Scaling package resizes a Microsoft Fabric capacity to another SKU when it runs. Use it to give the capacity more compute for a load window without pausing it, so reports keep working throughout.

Before you start

  • An Azure App Registration data provider in the workspace

The Azure App Registration whose service principal this package acts as. It decides which Azure resources you can choose below.

  • The principal able to enumerate resource groups in the subscription. This package finds its resource that way, so without it the resource list is empty and the package cannot be completed.
  • The principal needs permission to change the resource, not only read it. Listing it and scaling it are different rights.

How it works

You choose a data provider, then a Fabric capacity to act on, then what to do to it.

When the resource list is empty the editor says so explicitly, naming the scope it searched — No … were found in … this data provider can see. That is a permissions answer, not a fault.

Each of these packages performs one action. Scaling up before a load and back down afterwards is two packages, ordered in a process map or on a schedule — which is also what makes the saving visible in the execution log.

The target SKU

The SKU the capacity is resized to when the package runs.

SKUs step in capacity and price together; see Fabric capacity SKUs for what each one provides.

Scaling keeps the capacity available throughout, which is the difference from Pause/Resume: pausing is cheaper but takes everything offline, scaling is a smaller saving that nobody notices.

Pick the smaller SKU for the day and the larger one for the load window, then two packages switch between them.

Steps

Screenshots stop at the data provider

The images are real but end there: no service principal on our test environment can enumerate resource groups, so the resource and action steps have no screenshot yet. The prose comes from the product's own field help and validation.

1. Create the package

Orchestration → Packages → Create, then Fabric Capacity Scaling from the Azure area.

Fabric Capacity Scaling in the picker

A new Fabric Capacity Scaling package

2. Choose the data provider

The data provider list

3. Choose the resource, then the action

Both come from the selections above. The action here is the Target SKU to resize to. If the resource list is empty, see Troubleshooting.

An existing, fully configured package of this type looks like this:

A configured package

4. Save

Saves as a Draft.

A worked pattern

Scale up to a larger SKU before the nightly load; scale back down when it completes.

Best practices

Pair the packages. A scale-up with no matching scale-down is how a cost-optimisation exercise becomes a cost increase. Put both in the same process map.

Order them around the work, not on a clock. A scale-down scheduled for 06:00 will run whether or not the load finished. A scale-down that depends on the load step will not.

Make the down action the one that cannot be skipped. If the flow can fail between up and down, arrange for the down step to run anyway.

Give the principal least privilege, scoped to the specific resource rather than the subscription.

Check the cost model before assuming a saving. Not every action stops billing — the field help is explicit about which ones do.

Troubleshooting

The resource list is empty. The service principal cannot enumerate resource groups, or cannot see resources of this type. Grant subscription-level Reader or Microsoft.Resources/subscriptions/resourceGroups/read, then use the refresh button. The editor's own message names the scope it searched.

The resource lists but the action fails at run time. Read permission without write permission. The principal needs a role that can change the resource, not just see it.

The package succeeds but nothing changed. The resource was already in the target state. These actions are idempotent, which is usually what you want, but it means "succeeded" does not prove anything moved.

A resource that was renamed or deleted in Azure. The package stores the reference it was configured with. Reopen it, re-pick from the refreshed list, and save.

Reference

Fields

Field Required Notes
Data provider Yes Azure App Registration; decides which resources are selectable
Resource Yes Found via the subscription and resource group; has a refresh button
Target SKU Yes The SKU to resize to
Advanced JSON No For settings the form does not expose

Validation: Please select a data provider, Please select a capacity, Please select a target SKU.

Discussed in the community

Looking for related questions…

Didn't find your answer? Ask the community about this page — questions are answered by Timextender experts, partners and other users.