I am a big fan of deploying Azure resources using an imperative approach. In this example I wanted to create an App Service that used Azure Active Directory, without having to add any code, e.g. Startup.cs. I will use both Azure PowerShell and Azure CLI. This raises a good question, why mix Azure PowerShell and…
Month: April 2020
Adventures with Azure DevOps: .azcli Files to .sh
I am building a pipeline for deploying my application, the first thing I needed to do was deploy my Azure resources. I have a tendency to be more imperative with my deployment strategy, using Azure PowerShell and Azure CLI over Azure Resource Management (ARM) templates. I use Visual Studio Code to code my azure-pipelines.yml file,…
Adventures with Cosmos: Get Primary Connection String with PowerShell
When it comes to deploying my infrastructure to Azure I prefer an imperative approach over a declarative approach so I starting to work a lot with Azure CLI and Azure PowerShell. That being said, I am working on an Web App which will be deployed to an App Service in Azure. When I deploy the…
Adventures with Azure: Security, Azure App Services and Azure API Management
In previous article we looked at how to secure an Azure Function with Azure API Management, in an effort to only allow resources within the Azure tenant access. Could the same thing be done with a Web Api hosted in App Services? Surprisingly, it was just as easy to implement. You setup Express Auth through…
Adventures with Azure: Security, Azure Functions and Azure API Management
In this article I want to revisit securing an Azure Function so that it cannot be called directly, but can be called by Azure API Management. To do this, I am going to leverage Managed Identities and make use of this in my API Management policy. I know I could do this with IP white…
Adventures with Durable Functions: Error Handling and Retries
Normally I use, and recommend, Logic Apps for orchestration, but I recently had an ask for sample code of a Durable Function that demonstrated error handling and retry logic. The code for this article can be found at https://github.com/mattruma/MJR047. Using the Azure Storage Emulator I created two queues, one called sayhello and another called sayhello-poison,…
Adventures with Logic Apps: Handling Optional Query Parameters
Ran into an interesting issue challenge with Logic Apps. My Logic App sometimes takes a query parameter called planId. I use the value of planIdto determine whether I should Insert or Update a record in a database. If planId is not provided the statement triggerBody()[‘queries][‘planId’] generates an exception. This was very frustrating to figure out…