Thursday, February 6, 2025
HomeBusiness IntelligenceMicrosoft Material: Capability Price Administration Half 2, Automate Pause/Resume Capability with Azure Logic Apps

Microsoft Material: Capability Price Administration Half 2, Automate Pause/Resume Capability with Azure Logic Apps


Microsoft Material: Capability Price Administration Half 2, Automate Pause/Resume Capability with Azure Logic Apps

Within the earlier weblog put up, I defined Microsoft Material capacities, shedding mild on numerous capability choices and the way they affect information tasks. 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 potential of automating the pause and resume course of. On this weblog put up, we’ll unlock the secrets and techniques to seamlessly managing your Material Capability with automation that helps us save time and assets whereas optimising the utilization of knowledge and analytics workloads.

Proper off the bat, this can be a reasonably lengthy weblog, so I added a bonus part on the finish for many who are studying from the start to the tip. With that, let’s dive in!

As we’ve got discovered within the earlier weblog put up, one option to handle our Material capability prices is to pause the capability whereas not in use and resume it once more when wanted. Whereas this might help with price administration, as it’s a handbook course of, it’s vulnerable to human error, which makes it impractical in the long term.

A extra sensible resolution is to automate a every day course of to pause and resume our Material capability mechanically. This may be performed by operating Azure Administration APIs. Relying on our experience, there are a number of methods to realize the purpose, akin to operating APIs on operating the APIs through PowerShell (scheduling the runs individually), operating the APIs through CloudShell, making a stream in Energy Automate, or creating the workflow in Azure Logic Apps. I choose the latter, so it’s the methodology that this weblog put up explains.

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 mechanically does the next:

  • Test the time of the day
  • Whether it is between 8 am to 4 pm:
  • Test 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:
  • Test 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:

  1. Login to Azure Portal and seek for “Logic App
  2. Click on the Logic App service
Finding Logic Apps on Azure Portal

This navigates us to the Logic App service. Should you presently have present Logic Apps workflows, they are going to seem right here.

  1. Click on the Add button
Creating a new Logic App workflow on Azure Portal
Creating a brand new Logic App workflow on Azure Portal
  1. On the Fundamentals tab, choose the specified Azure Subscription
  2. Choose a desired Useful resource Group. Should you do not need any useful resource teams, click on Create new to create one
  3. Sort in a reputation within the **Logic App title ** textbox
  4. Choose the specified Area from the dropdown
  5. Choose Consumption on the Plan kind
  6. Preserve the Zone redundancy Disabled
  7. 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
Creating a new Logic App workflow on Azure Portal
  1. Click on the Create button
Review configuration and create a new Logic App workflow on Azure Portal

It will create a brand new Logic App workflow. After the service is created a brand new Go to assets button.

  1. Click on the Go to assets button
Go to the newly created Logic App workflow on Azure Portal
  1. 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
Opening Logic App designer in Azure Portal
  1. Click on the Recurrence from the Begin with a typical set off part. This opens the Logic app designer and provides the Recurrence set off
Adding a Recurrence trigger to Logic Apps
  1. Change the Interval to 1
  2. Change the Frequency to Hour

To date, we outlined a set off to run the workflow each hour. The subsequent step is to get the present time.

  1. Click on the New step button
Configuring the Recurrence trigger to run every hour
  1. Search and choose the Present time motion

The Present time motion will get the present time in UTC.

Using Current Time action to Logic Apps

Should you dwell in a special timezone, it is advisable to convert the output from UTC to your timezone.

  1. Click on the New step button, search and choose Convert time zone motion
  2. Click on the Base time textbox then choose the Present time from the Dynamic content material
  3. Choose (UTC) Coordinated Common Time from the Supply time zone dropdown
  4. Choose the Vacation spot time zone from the dropdown
  5. Sort in HH:mm within the Format string textual content field and click on Use ‘HH:mm’ as customized worth
Converting the output of the Current time action to local timezone

To date, we bought the present time and transformed it into our native timezone. Subsequent, we have to get the standing of the Material capability. This may be performed through the Azure Useful resource Supervisor operation by utilizing its Learn a useful resource motion.

  1. Click on the New step button, search and choose Learn a useful resource motion (which is an Azure Useful resource Supervisor motion)
Using Read a resource action of Azure Resource Manager
  1. Move your credentials on the Azure Useful resource Supervisor operation then choose the Subscription of your Material capability from the dropdown
  2. Choose the Useful resource Group containing your Material capability
  3. Choose Microsoft.Material from the Useful resource Supplier dropdown
  4. Sort in capacities/YOUR_FABRIC_CAPACITY_NAME on the Quick Useful resource Id textual content field the place the YOUR_FABRIC_CAPACITY_NAME is the title of your Material capability which in my case is dv01fabric
  5. Sort in 2023-11-01 on the Consumer Api Model textual content field
Setting Read a resource action of Azure Resource Manager

To date, we’ve got the present time for our timezone and the present standing of our Material capability. Subsequent, we have to verify 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…

  1. Click on the New step button, seek for Situation motion and choose it beneath the Management operation
  2. Click on the primary situation’s textbox to pick out the Transformed time from the Dynamic content material
Condition action of Control operation
  1. Change the situation to is bigger than or equal to
  2. Sort 08:00 for the worth
  3. Click on the Add button
  4. Choose the Add row choice
  5. Choose the Transformed time from the Dynamic content material once more
  6. Choose is lower than or equal to situation
  7. Sort 16:00 for the worth
Setting Condition action to get the output from a Convert time zone action

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 verify the standing of the Material capability. If we run the workflow now (click on the Run Set off button, then click on Run) and take a look at the outputs of the Learn a useful resource motion containing the state of the capability beneath 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.

  1. Click on the Add an motion button on the True output so as to add a brand new Situation motion which by default is known as Situation 2
  2. Inside Situation 2 click on the Select a price setting
  3. Copy and paste the above expression into the Expression field
  4. Click on OK
Using an expression in Condition action to read the State part of the Properties within the body of the Read a resource output
  1. Set the situation to is the same as
  2. Sort Paused within the Worth textbox
Checking if the State of the Read ā resource action is Pause
  1. Click on the Add an motion button on the True output of Situation 2 and add the Invoke useful resource operation
Using Invoke resource operation action from Azure Resource Manager operation
  1. On the Invoke useful resource operation motion, choose the specified Subscription
  2. Choose the specified Useful resource Group
  3. On the Useful resource Supplier choose Microsoft.Material
  4. Sort in capacities/YOUR_FABRIC_CAPACITY_NAME on the Quick Useful resource Id textual content field the place the YOUR_FABRIC_CAPACITY_NAME is the title of your Material capability, which in my case is dv01fabric
  5. Sort in 2023-11-01 on the Consumer Api Model textbox
  6. Sort resume on the Motion title textbox
Configuring Invoke resource operation action of Azure Resource Manager operation

To date, we’ve got checked the present time of the day; whether it is between 8 am and 4 pm, we verify the standing of our Material capability. Whether it is Paused, we resume the capability. The subsequent step is so as to add an identical situation to what we’ve performed, however this time for the False output of the primary Situation motion. We simply must repeat steps 39 to 51 with a minor change in step 51 the place we kind droop on the Consumer Api Model textbox.

The next picture reveals all the resolution. Simply so you realize, I renamed the actions with extra correct names.

Azure Logic Apps workflow to pause and resume Fabric capacity

Right here you go! You’ve gotten it.

Since you’ve gotten come to date, 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 verify if the present date is in the course of the weekend, then don’t run the workflow.

To take action, comply with these steps:

  1. Click on the ellipsis button of the Recurrence set off
  2. Click on Settings
  3. Click on the Add button beneath the Set off Circumstances part
  4. Enter the @accommodates('12345', string(dayOfWeek(convertFromUtc(utcNow(), 'New Zealand Customary Time')))) expression
  5. Click on the Completed button
Conditional Recurrence Trigger

The above course of forces the set off to run the workflow solely in the course of 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. Finally, it checks if the day variety of the week is in week days. Sunday is 0, Monday is 1 and so on…

Should you dwell in a special timezone, yow will discover 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 primarily based 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 all the time, be happy to go away your feedback and ask questions, comply with me on LinkedIn and @_SoheilBakhshi on X (previously Twitter).



RELATED ARTICLES

Most Popular

Recent Comments