Working with arrays of objects and multiple resource instances in Azure ARM templates

The ‘copy’ property is an Azure ARM template feature that allows you to iterate (for each) loop over a resource to create multiple copies of it. You can combine it with an ‘array of objects’ custom parameter to easily duplicate resources with your supplied values. However there are a couple of snags you might run into so I figured it’s worth a write up with an example.

Continue reading

How to troubleshoot New-AzureRmResourceGroupDeployment ‘parameter cannot be found’ errors

Scenario: You have an Azure RM deployment template JSON file. You initiate a deployment with the New-AzureRmResourceGroupDeployment PowerShell cmdlet and pass in some custom parameters. You immediately hit this all too common error: “New-AzureRmResourceGroupDeployment : A parameter cannot be found that matches parameter name ‘<myParameter>’“.

Continue reading

A quick tip for debugging Azure ARM template expressions

Azure Resource Manager (ARM) templates have a nice set of built-in functions that allow you to develop complex expressions. These expressions can help a static deployment template file become more scalable and flexible for different scenarios. This article is a quick rundown on my new favorite tip for debugging a template expression that you just can’t get working. 

Continue reading

How to call the Azure REST API from PowerShell

Normally we use SDKs to interact with Azure. Things like the Azure .NET SDK, the Azure PowerShell module, or the dozens of other SDKs listed here can be used. These SDKs provide a lot of helpful utilities and validation, but ultimately they will hit the Azure REST API once they need to phone home. Azure’s REST API provides this all-important foundation to write code against the platform.
Continue reading

Azure WebJobs: Scheduling and Scaling

Why Azure WebJobs?

Azure WebJobs are a great resource included in Azure App Service plans. They provide a way for you to run binaries or scripts that perform scheduled or event-triggered job processing for work that isn’t suited to be done during a normal web request. Have a monthly cleanup task for your website? Sending a big batch of emails? Need to process some user uploaded files? These are all great examples of things you can throw into a WebJob.
Continue reading

How to configure Azure Web Application settings via PowerShell

Application Settings

.NET developers should be familiar with the classic web.config file used for storing web site options, application settings, and connection strings. When you deploy a .NET Web Application to Azure this file can still be used, however a new additional settings layer in Azure is provided.
Continue reading

How to automate Azure App Service deployment slots for dev/staging environments

About Deployment Slots

Azure web app service has a fantastic feature called “Deployment Slots”, available on standard or premium mode pricing tiers. This feature allows you to spin up multiple slots (full instances) of your web application for test/development and staging uses.
Continue reading