In this article, I’ll show you how we can perform simple operations against a Azure Cosmos DB Table API account using the new Azure.Data.Table C# SDK.

Last month, the Azure SDK team released a new library for Azure Tables for .NET, Java, JS/TS and Python. This release brings the Table SDK in line with other Azure SDKs and they use the specific Azure Core packages for handling requests, errors and credentials.

Azure Cosmos DB provides a Table API offering that is essentially Azure Table Storage on steroids! If you need a globally distributed table storage service, Azure Cosmos DB should be your go to choice.

If you’re making a choice between Azure Cosmos DB Table API and regular Azure Table Storage, I’d recommend reading the following…

Hands-on Tutorials

Using YAML Build pipelines, we can define our entire build and release pipeline in a single file!

We can define our build, test and deployment tasks in a single YAML file!


As part of my personal development, I’ve created a personal health platform that uses various different microservices (Built using Azure Functions) that extract data from my Fitbit account and store them in an Azure Cosmos DB database. I have other microservices that pass messages between different services via Azure Service Bus.

For this project, I use Azure DevOps to build my artifacts, run my unit tests and deploy my microservices to Azure. The great thing about DevOps is that we can do all of this with in the YAML pipeline.

Yes I said YAML. Honestly, I don’t know what the…

Assertion Scopes make our lives easier when using multiple assertions within our unit tests by saving us time and effort when finding out why our tests are failing.

Assertion Scopes allow us to test multiple assertions within a single test execution

Fluent Assertions is a .NET library that provides use with a bunch of useful extension methods that allow us to test our C# code in a more natural way.

Let’s say for example we are testing the output of a string. Without Fluent Assertions, we might write something like this:

string testString = "hello";
string expectedOutput = testString.ToUpper();
Assert.Equal(expectedOutput, "HELLO");

If we were to write this test using Fluent Assertions, we could do so like this:

string testString = "hello";
string expectedOutput = testString.ToUpper();

See? Much more natural 😊

Introducing Assertion Scopes

Lets use a more extensive example. Say if I have…

In Isolated Process functions, we can use output binding to write our output of our Functions to, but they work a little differently

In my last article, I talked about how we can run our C# Azure Functions in an isolated process that decouples the version of .NET that we want to use from the version of the Azure Functions Runtime ⚡

If you haven’t read that article, you can check it out below:

One thing I didn’t touch on in that article was how bindings work in Isolated Process Functions.

In this post, I’ll explain what Bindings are in Azure Functions, How they currently work with in-process Functions and how for isolated functions, they work a little differently.

What are Bindings?

In Azure Functions, we…


The more I use Bicep, the more I love it. This is what ARM Templates should have been. When it comes to IaC, I usually use Terraform. It’s the IaC tool we used at my last gig and I like that it has support for multiple clouds.

However, I’ve recently changed jobs and I’m finding that I’m using ARM templates more. With this in mind, I’ve been wanting to learn Bicep and use it in my own personal projects so when the day comes that I have to convert ARM templates to Bicep code, I’ll be prepared 😂

Coming back…

Using .NET Isolated Process Functions, we can decouple the .NET version we want to use from the Azure Functions Runtime.

We can run our C# Azure Functions in an isolated process, decoupling the version of .NET that we use in our Functions from the version of the runtime that our Functions have been developed on ⚡

Before this, we would have to develop Functions that had a class library and host that were tightly integrated with each other. That meant that we had to run our .NET in-process on the same version as the Azure Functions Runtime (.NET Core 3.x…

In this video, I show you how you can deploy Azure Data Factory using Bicep Lang

So after a long break (caused by a combination of laziness and actually being busy), I’m attempting to get back into creating more video content.

In this video, I’m using Bicep to deploy Azure Data Factory! Bicep is Domain Specific Language for deploying resources to Azure and is a HUGE improvement over ARM templates.

I’ve been trying to learn Bicep for my new job. Usually when it comes to Infrastructure code, I’d opt for Terraform since that’s the first IaC tool I learnt. In my new role, I’m using ARM a lot more.

To be honest, I never really…

We can generate a refresh and access token required to call the Fitbit API programmatically with a simple Timer trigger function.

As part of my personal development, I’m building my own personal health platform in Azure. I like to keep track of a variety of different health metrics, such as daily activity, food intake and sleep patterns. To collect this data, I use a Fitbit Ionic.

In the past, I used to download a monthly CSV file and just do some basic analysis on it. This was a bit tedious as I’d have to do some manual scrubbing of the data before I could do anything with it. …

We can publish NuGet packages to internal feeds hosted in Azure Artifacts easily via pipelines defined in YAML files.

Using Azure Artifacts, we can publish NuGet packages to a private (or public) NuGet feed. These feeds can be scoped in Azure DevOps at either an organization level or at a project level.

Creating a private NuGet feed in Azure DevOps is really simple. This article below shows have you can set one up. If you’re following along and you haven’t set up an internal feed yet, stop reading this article and check out the article below. Once you’re done with that, you can return here.

This post will show you how we can use a YAML build file to…

In this tutorial, we’ll build a Web API using Azure Functions that stores data in Azure Cosmos DB with MongoDB API in C#

Azure Cosmos DB is a globally distributed, multi-model, NoSQL database service that allows us to build highly available and scalable applications. Cosmos DB supports applications that use Document model data through it’s SQL API and MongoDB API.

I’ve been meaning to produce more content on Cosmos DB’s Mongo API, so in this article, I’m going to be developing a Serverless API in Azure Functions that uses a Cosmos DB MongoDB API account. This article has been loosely based on this fantastic tutorial on creating a Web API with ASP.NET Core and MongoDB.

By the end of this article, you’ll know…

Will Velida

Microsoft Data Platform MVP. Software Engineer trying to build cool stuff using .NET and Azure. GitHub:

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