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…