Within the earlier weblog submit, I defined Microsoft Material capacities, shedding gentle on numerous capability choices and the way they affect information initiatives. We delved into Capability Models (CUs), pricing nuances, and sensible price management strategies, together with manually scaling and pausing Material capability. Now, we’re taking the subsequent step in our Microsoft Material journey by exploring the opportunity of automating the pause and resume course of. On this weblog submit, we’ll unlock the secrets and techniques to seamlessly managing your Material Capability with automation that helps us save time and sources whereas optimising the utilization of knowledge and analytics workloads.
Proper off the bat, it is a quite lengthy weblog, so I added a bonus part on the finish for individuals who are studying from the start to the tip. With that, let’s dive in!
As we now have discovered within the earlier weblog submit, one strategy to handle our Material capability prices is to pause the capability whereas not in use and resume it once more when wanted. Whereas this will help with price administration, as it’s a handbook course of, it’s liable to human error, which makes it impractical in the long term.
A extra sensible resolution is to automate a day by day course of to pause and resume our Material capability robotically. This may be completed by operating Azure Administration APIs. Relying on our experience, there are a number of methods to realize the aim, reminiscent of operating APIs on operating the APIs through PowerShell (scheduling the runs individually), operating the APIs through CloudShell, making a movement in Energy Automate, or creating the workflow in Azure Logic Apps. I favor the latter, so this weblog submit explains the strategy.
I additionally clarify the identical state of affairs on my YouTube channel. Right here is the video:
Automating Pause and Resume Material Capability with Azure Logic Apps
Right here is the state of affairs: we’re going to create an Azure Logic Apps workflow that robotically does the next:
- Verify the time of the day
- Whether it is between 8 am to 4 pm:
- Verify the standing of the Material capability
- If the capability is paused, then resume it, in any other case do nothing
- Whether it is after 4 pm and earlier than 8 am:
- Verify the standing of the Material capability
- If the capability is resumed, then pause it, in any other case do nothing
Comply with these steps to implement the state of affairs in Azure Logic Apps:
- Login to Azure Portal and seek for “Logic App“
- Click on the Logic App service
This navigates us to the Logic App service. Should you at present have current Logic Apps workflows, they may seem right here.
- Click on the Add button

- On the Fundamentals tab, choose the specified Azure Subscription
- Choose a desired Useful resource Group. Should you would not have any useful resource teams, click on Create new to create one
- Kind in a reputation within the **Logic App identify ** textbox
- Choose the specified Area from the dropdown
- Choose Consumption on the Plan sort
- Preserve the Zone redundancy Disabled
- If you need/want so as to add Tags, click on the Subsequent: Tags button, in any other case click on the Preview + create button
- Click on the Create button

This can create a brand new Logic App workflow. After the service is created a brand new Go to sources button.
- Click on the Go to sources button
- Click on the Logic app designer from the Improvement Instruments part on the left pane or click on the Edit button to open the Logic app designer

- Click on the Recurrence from the Begin with a standard set off part. This opens the Logic app designer and provides the Recurrence set off

- Change the Interval to 1
- Change the Frequency to Hour
Up to now, we outlined a set off to run the workflow each hour. The following step is to get the present time.
- Click on the New step button

- Search and choose the Present time motion
The Present time motion will get the present time in UTC.
Should you stay in a distinct timezone, you could convert the output from UTC to your timezone.
- Click on the New step button, search and choose Convert time zone motion
- Click on the Base time textbox then choose the Present time from the Dynamic content material
- Choose (UTC) Coordinated Common Time from the Supply time zone dropdown
- Choose the Vacation spot time zone from the dropdown
- Kind in HH:mm within the Format string textual content field and click on Use ‘HH:mm’ as customized worth

Up to now, we acquired the present time and transformed it into our native timezone. Subsequent, we have to get the standing of the Material capability. This may be completed through the Azure Useful resource Supervisor operation through the use of its Learn a useful resource motion.
- Click on the New step button, search and choose Learn a useful resource motion (which is an Azure Useful resource Supervisor motion)

- Go your credentials on the Azure Useful resource Supervisor operation then choose the Subscription of your Material capability from the dropdown
- Choose the Useful resource Group containing your Material capability
- Choose Microsoft.Material from the Useful resource Supplier dropdown
- Kind in capacities/YOUR_FABRIC_CAPACITY_NAME on the Brief Useful resource Id textual content field the place the YOUR_FABRIC_CAPACITY_NAME is the identify of your Material capability which in my case is dv01fabric
- Kind in 2023-11-01 on the Shopper Api Model textual content field

Up to now, we now have the present time for our timezone and the present standing of our Material capability. Subsequent, we have to examine the present time to see if it’s between 8 am and 4 pm, then resume the capability if its standing is Paused and do nothing if the capability is already operating. Whether it is after 4 pm and earlier than 8 am, pause the capability if its standing is Resumed, and do nothing whether it is already paused.
Allow us to proceed…
- Click on the New step button, seek for Situation motion and choose it below the Management operation
- Click on the primary situation’s textbox to pick the Transformed time from the Dynamic content material

- Change the situation to is larger than or equal to
- Kind 08:00 for the worth
- Click on the Add button
- Choose the Add row choice
- Choose the Transformed time from the Dynamic content material once more
- Choose is lower than or equal to situation
- Kind 16:00 for the worth

OK! Let’s take a second to know the place we’re at now. By including the Situation motion, we’re checking if the present time is between 8 am and 4 pm.
Subsequent, we have to examine the standing of the Material capability. If we run the workflow now (click on the Run Set off button, then click on Run) and have a look at the outputs of the Learn a useful resource motion containing the state of the capability below the Properties. That’s precisely what we’re after. To the worth of the state, we have to use the next expression:
physique('Read_a_resource')?['properties']?['state']
With that, let’s proceed.
- Click on the Add an motion button on the True output so as to add a brand new Situation motion which by default is called Situation 2
- Inside Situation 2 click on the Select a worth setting
- Copy and paste the above expression into the Expression field
- Click on OK

- Set the situation to is the same as
- Kind Paused within the Worth textbox

- Click on the Add an motion button on the True output of Situation 2 and add the Invoke useful resource operation

- On the Invoke useful resource operation motion, choose the specified Subscription
- Choose the specified Useful resource Group
- On the Useful resource Supplier choose Microsoft.Material
- Kind in capacities/YOUR_FABRIC_CAPACITY_NAME on the Brief Useful resource Id textual content field the place the YOUR_FABRIC_CAPACITY_NAME is the identify of your Material capability, which in my case is dv01fabric
- Kind in 2023-11-01 on the Shopper Api Model textbox
- Kind resume on the Motion identify textbox

Up to now, we now have checked the present time of the day; whether it is between 8 am and 4 pm, we examine the standing of our Material capability. Whether it is Paused, we resume the capability. The following step is so as to add an analogous situation to what we’ve completed, however this time for the False output of the primary Situation motion. We simply have to repeat steps 39 to 51 with a minor change in step 51 the place we sort droop within the Motion identify textbox.
The next picture exhibits the complete resolution. Simply so you already know, I renamed the actions with extra correct names.

Right here you go! You will have it.
Since you may have come to this point, the next bonus part would add extra worth. So proceed studying…
You’ll be able to enhance the answer to suit your necessities. For instance, you’ll be able to examine if the present date is through the weekend, then don’t run the workflow.
To take action, comply with these steps:
- Click on the ellipsis button of the Recurrence set off
- Click on Settings
- Click on the Add button below the Set off Circumstances part
- Enter the
@comprises('12345', string(dayOfWeek(convertFromUtc(utcNow(), 'New Zealand Commonplace Time'))))
expression - Click on the Finished button

The above course of forces the set off to run the workflow solely through the weekdays (not on the weekends).
The expression in level 4 will get the curent date and time in UTC, converts it into New Zealand timezone, will get the week day variety of the week, and converts it to string. Eventually, it checks if the day variety of the week is in week days. Sunday is 0, Monday is 1 and so forth…
Should you stay in a distinct timezone, you’ll find Microsoft’s default timezones right here.
On this exploration of Microsoft Material capacities and Azure Logic Apps automation, we’ve superior from handbook pausing and resuming to an automatic resolution. By making a Logic Apps workflow, we’ve demonstrated the practicality of managing Material capability based mostly on a set schedule, optimising useful resource utilisation effortlessly. Within the bonus part, we seemed on the resolution’s adaptability to particular wants, like excluding weekends.
I hope you loved studying this lengthy weblog and discover it useful.
As at all times, be happy to depart your feedback and ask questions, comply with me on LinkedIn and @_SoheilBakhshi on X (previously Twitter).
Associated
Uncover extra from BI Perception
Subscribe to get the most recent posts despatched to your electronic mail.