With all that is going on with COVID-19 and the impact that it is having on retailers, I took a couple of days and wrote a curb-side app that would allow customers to notify a retailer, or any vendor for that matter, that they had arrived to pick-up their order. Please note, this is an…
Adventures in Azure: Imperative Deployment of an App Service and Authentication with Azure Active Directory
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…
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…
Adventures with Blazor: My First Component, a Busy Button
I recently challenged myself to take one of my side projects, on of my many multi-million dollar ideas, and develop it using some technologies that I am not fully accustomed to. For the back-end I am going to use Logic Apps, Azure Functions (JavaScript), Cosmos DB and for the front-end I am going to use…
Adventures with Azure: Azure SQL and Access Tokens
In this series of articles we will access an Azure SQL database using an access token provided by Azure AD. Why would we even want to do this? Doing it this way means we DO NOT have to provide a User Id and Password in our connection string. In Part 1 we will create the…