Skip to main content

Use Azure App Configuration To Store Hierarchical Data

.NET Core has first class support for parsing hierarchical configuration data. If you have a JSON configuration like this, 

{
"rootObject": [
{
"level1": "l1v1",
"level2": "l1v2"
},
{
"level1": "l2v1",
"level2": "l2v2"
}
]
}

then you can easily target individual values with "rootObject:[0]:level1". However to store this JSON, you have to either use a File System or some kind of database. The problem with this approach is that you have to modify the entire document when you want to change a value of any field. If you are not careful, you may end up corrupting the JSON and thus breaking your system.

This is where Azure App Configuration comes in the picture. Azure App Configuration is nothing but a key-value store. We can use that to store the hierarchical values like this:


Once you inject this Azure App Configuration in your .NET Core project and call Configuration.Bind() on your strongly typed representation of the JSON configuration, you get the fully populated .NET Object without writing a single line of code!


Hope this post helps you in making a decision on where and how to store your hierarchical configuration data for .NET apps.

Comments

Popular posts from this blog

Centralized Configuration for .NET Core using Azure Cosmos DB and Narad

We are living in a micro services world. All these services are generally hosted in Docker container which are ephemeral. Moreover these service need to start themselves up, talk to each other, etc. All this needs configuration and there are many commercially available configuration providers like Spring Cloud Config Server, Consul etc. These are excellent tools which provide a lot more functionality than just storing configuration data. However all these have a weakness - they have a single point of failure - their storage mechanism be it a file system, database etc. There are ways to work around those but if you want a really simple place to store configuration values and at the same time make it highly available, with guaranteed global availability and millisecond reads, what can be a better tool than Azure Cosmos DB!
So I set forth on this journey for ASP.NET Core projects to talk to Cosmos DB to retrieve their configuration data. For inspiration I looked at Steeltoe Configuratio…

Proud to be a Bihari?

After nearly an year, this December I had a chance to visit Bihar. My visits normally consist of resting in my home in Patna and occasional visits to my uncle's place. But this time it was different. I had to go to Gaya to attend my cousin sister's marriage ceremony. Stepping out of Patna made me question - Am I really proud to be a Bihari?

Patna is like any other city in India, struggling with pollution, traffic jams, crime, etc. Being snuggled in my bed in Patna had made me forget the reality of what Bihar really is; after all its been nearly 10 years since I had traveled to any town outside of Patna in Bihar. So, the illusion was broken the moment my uncle's brand new Maruti A-Star moved out of outskirts of Patna, to what is supposedly the "National Highway". If you haven't guessed it already, its an apology of a road.

Ajab Prem Ki Not So Ghazab Kahani!!

As I had written earlier I was in the process of shifting my home to somewhere near my office. Finally, I managed to do it and was peacefully nestled in my new home. Everything was going at its normal pace (meaning boring), till yesterday while in office, I received a call from my new roommate asking whether I wanted to watch "Ajab Prem Ki Ghazab Kahani". I couldn't remember the name of the last movie that I had seen in a theater, so I figured that may be its time to watch a movie. Also, the title and promos of the movie looked interesting. Plus, people comparing it to "Andaz Apna Apna", (directed by the same man who has directed this - Rajkumar Santoshi) finally pushed me over the edge.

We went to E-Square, Pimpri for the 9.45PM show with high expectations. The movie begins in a fictional town by the name "Wellington" (which is basically Ooty where the movie was primarily shot). A reporter enters into an empty town, and wonders where the people had go…