Connect Azure Iot Central to Event Hubs with Managed Identity

To process data collected with an IoT Central instance it’s common to first send it to Azure Event Hubs. This makes the data available to a wide range of receivers like Microft Fabric or Azure Functions. Since we want to minimize the use of credentials here’s how to connect IoT Central with Event Hubs using Azure Managed Identities. Following this guide will also fix the “Unable to authenticate the user-provided event hub.” error.

Continue reading Connect Azure Iot Central to Event Hubs with Managed Identity

Deploying over SFTP with Azure DevOps pipelines

I recently needed to deploy some files to a webserver over SFTP using Azure DevOps pipelines. Despite the name SFTP is not related to FTP or FTPS as its SSH-based, so the FtpUpload@2 task won’t work for us. What we’re actually looking for is the CopyFilesOverSSH task. Let’s see how to configure it properly.

Continue reading Deploying over SFTP with Azure DevOps pipelines

Azure Service Bus with Bicep & Managed Identity in ASP.NET Core

Azure Service Bus can be used by clients with two different authentication mechanisms – either through Shared access policies with Manage, Send and Listen capabilities or through the Role-based access control (RBAC). The latter one is recommended as it also allows you to make use of Managed Identites instead of relying on connection strings. In this post we’ll take a look at how this can be set up using Bicep and connected to an ASP.NET Core app.

Continue reading Azure Service Bus with Bicep & Managed Identity in ASP.NET Core

Azure Email Communication Service with Subdomains

When using the Azure Communication Service to send emails you might want to have different sender subdomains for different stages, e.g. @example.com for production and @dev.example.com & @test.example.com for Dev and QA. Unfortunately the docs are quite unclear on how to set this up, especially when it comes to the DKIM configuration.

Continue reading Azure Email Communication Service with Subdomains

Azure SignalR Service Serverless with Frontdoor & ASP.NET negotiation

Azure Frontdoor is a great way to secure your application against the outside world. One downside though is the lack of websocket support meaning no SignalR communication can get through. This is where the SignalR Service’s serverless option comes in handy. It allows us to establish a connection with the service directly which acts as a proxy between clients and servers.

Continue reading Azure SignalR Service Serverless with Frontdoor & ASP.NET negotiation

Azure DevOps: Show missing Subscriptions for Service Connections

When creating new Service Connections in Azure DevOps I often find myself looking for subscriptions that I’m an owner of but can’t select in the dropdown menu for some reason. Luckily there’s an easy fix – as long as you’re an owner of that tenant.

Continue reading Azure DevOps: Show missing Subscriptions for Service Connections

Azure SignalR Service Serverless with Managed Identity and Bicep

This post describes how an Azure SignalR Service can be deployed and used through Managed Identity using Bicep. This can be used to provide SignalR capabilities to Azure Functions or WebApps even when behind Azure Frontdoor (still no Websocket support) by leveraging the serverless option of the SignalR Service.

Continue reading Azure SignalR Service Serverless with Managed Identity and Bicep

if-elseif-else in Azure Bicep

Azure Bicep supports conditional deployments making it easy to create resources depending on external factors such as the current environment. And while the official docs show a simple example with just if-statements it’s also possible to have a bit more complex scenarios with multiple chained if-else-blocks.

Continue reading if-elseif-else in Azure Bicep

Switching between Azure Functions Consumption and Premium Plans with Bicep

Azure Functions offer great flexibility with the consumption plan, being able to scale out and handle huge amounts of events while not costing anything if there’s no traffic. But sometimes you need even better performance or eliminate potential cold start times. That’s when it makes sense to switch to a Premium Plan, which can be achieved using Azure Bicep.

Continue reading Switching between Azure Functions Consumption and Premium Plans with Bicep