Written by: Chris Langston

How to store an array of values from your appsetting.json files in Azure KeyVault and do so using ARM Templates.

Let’s say you have an appsettings.json file that has a Class with a Property that is an array such as the following:

“PowerBiConfiguration”: {
“Scope”: [ “https://analysis.windows.net/powerbi/api/.default" ]

You would like to store this value in Azure KeyVault.

To populate the key(s) and value(s) in KeyVault, you will need to use the copyIndex() function and loop over the number of entries you need to write.

Below is an example template.json file and then the following parameters.json …

Written By: Chris Langston

Image for post
Image for post

Learn what Enterprises Should Take into Consideration BEFORE Moving to Azure Cloud

In this short post I’ll briefly talk about three of the top items you should consider before moving to Azure cloud, not afterwards.

In my current role as an Azure Cloud Solution Architect, I have the opportunity to see the good and the bad of Azure implementations. Sometimes there is a fine line between what makes one implementation good or bad and sometimes it is glaringly obvious. When you have the opportunity to see all the various combinations on a frequent basis, some patterns start to appear.

Let’s touch on three common threads that I see typically jumping out on Azure Implementations:

Image for post
Image for post
  1. Not following established cloud adoption guidelines
  2. Failure to plan
  3. Assessing the capabilities of the current technical…

Written By: Chris Langston

Learn how to setup the correct Connection string to the Cosmos Instance when configuring your Cosmos Triggered Azure Function when using Azure Functions V2.

When using .NET Core for Azure Functions, the signature of the Run method asks you to specify the “ConnectionStringSetting” where you would set it to something like “ConnectionStringSetting = “CosmosDBConnection”

The question this article addresses is how should the connection string look in your configuration file (or stored in Azure KeyVault recommended). …

Written By: Chris Langston

Standardize on a Strategy for Storing Your Configuration for Azure Applications and Services

Image for post
Image for post
Azure Key Vault

When using .NET Core 2.0 or higher to build Web APIs or V2 Azure Functions, you often need to connect to Azure services such as Cosmos NoSQL DBs, SQL Server Relational Databases, Azure Storage Accounts, Enterprise Service Bus, etc. — all of which usually require some type of connection string or authorization key.

Where should you store these configurations so they are secure?

Use Azure Key Vault to securely store all Configuration for Azure Functions V2 and Web API, not only secrets.

The .NET Core and Azure teams have created seamless ways to accomplish this using .NET Core SDK and Azure Key Vault.

To make this all come together for .NET Core applications, a well thought-out and cleanly crafted Configuration concept was created for .NET Core. …

Learn how to use Dependency Injection in Azure Functions V2 using .NET Core and C#

Written by: Chris Langston

When writing software using Azure Functions V2 in C#, you’ll definitely want to follow well-established software best practices. The challenge you’ll be initially presented with when starting a new project using the Visual Studio Template is swapping out a Static Class and a Static Run method.

Image for post
Image for post
Default Blob Triggered Azure Function

In this article you’ll learn the following:

  • How you can leverage the Strategy Pattern to write loosely coupled, easily testable code using Dependency Inversion Principle
  • Change the out-of-the-box boilerplate static Class and static Run method
  • How to use the .NET Core Container Infrastructure to use Interface Abstractions
  • Unit Test Blob Triggered Azure…

In this article I will layout the exact approach and techniques I used to prepare for and successfully pass Microsoft 70–483 C# programming exam.

As a career C# and .NET veteran I naively thought passing the C# programming exam would be a no-brainer. I thought to myself, how hard can it be? “I write C# code everyday… for loops; interface inheritance, try/catch; this is all 2nd nature to me”.

I quickly discovered that there are many aspects of this exam that I have never done in my 18+ years of working with the C# language, so I needed to prepare.

Here are the 3 things I did to pass the…


Chris Langston

Azure Cloud Application Architect, DotNet & JavaScript Engineer, In Love With Software Development

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store