In my last article, Adventures with Azure Storage: Read/Write Files to Blob Storage from a .NET Core Web API, we looked at uploading and downloading files from Azure Blob Storage using a .NET Core Web API, in this article, we are going to perform the same task, but this time, we will use Azure Functions…
Adventures with Azure Storage: Read/Write Files to Blob Storage from a .NET Core Web API
I wanted to share some code I wrote recently for uploading a file to a .NET Core Web API and writing it to Blob Storage, as well as, downloading the file from the .NET Core Web API. As a bonus, we will use SAS tokens to read and write to Blob Storage. Let’s get started….
Adventures with Logic Apps: Working with @Outputs
In a previous article, Logic Apps Calling Logic Apps, I show how to have a parent Logic App call child Logic Apps. Now I want to have my child Logic App return a value that my parent Logic App can do something with. This article assumes you are familiar with Logic Apps. Getting started We…
Adventures with Logic Apps: Logic Apps Calling Logic Apps
There are several articles available on how Logic Apps can call other Logic Apps. Most of the examples I found were larger in scope or overly complicated, geared towards specific business cases. I wanted a simple example, but one that was robust enough that would lead to great learning experience. So let’s get started. Create…
Adventures with Cosmos: Alerting and 429 Status Codes
During periods of peak transactions Cosmos may return a 429 Status Code – Too Many Requests, which means the collection has exceeded the provisioned throughput limit (RUs) and that you should retry the request after the server specified retry after duration. I want to setup alerting on both an Azure Function and the underlying Cosmos…
Adventures with Azure: Where is My Service Principal?
When working with the Azure Portal, sometimes the simple tasks can seem difficult to accomplish. In a recent project I needed to to wire up an Azure Key Vault task to retrieve secrets for a deployment in Azure DevOps. In order for the deployment to be able to retrieve the Azure Key Vault secrets the…
Adventures with Cosmos DB: High Ingestion Architecture
Let’s say you need you receive a large number of transactions from a third-party software system. The third party software system would like to send the requests via an API call. Each transaction needs to be validated (good data), enriched (add meta data) and transformed (convert to final format). My first attempt at solving this…
Adventures with Visual Studio: Properties Should Not Return Arrays
Early this morning, I installed the latest update of the Roslyn Code Analyzers in Visual Studio 2019 and was immediately welcomed with this warning: Properties should not return arrays. Something you need to know about me. I have this weird obsession of needing to remove all the “squigglies” that Visual Studio barks about from my…
Adventures with Azure Functions: Create an Alert from App Insights to Send an Email Notification
I’ve been working fiddling with a better way to receive a notification from an Azure Function that has encountered an exception. There are probably a few approaches to doing this, some that involve code others that do not. My first choice, is to try to take the no-code or low-code approach. So to get things…
Adventures with Azure AD B2C: Customizing Sign In and Sign Up UI
Lately I have been working a lot with Azure AD B2C. One of my most recent requests was to customize the Sign In and Sign Up pages. If my memory was serving me correctly, which is often not the case, I thought this was possible, just didn’t know what challenges or issues I was going…