Over the past few weeks, we have been busy making a number of improvements to the Azure Toolkit for Rider release. Hard work pays off! Rider 2019.1 introduces support for Azure Functions (V2), with project and item templates for C# and F#, debugging and deployment right from within the IDE.
We’ve also improved SQL Database functionality with support for adding a firewall rule, creating new database servers and new databases. Let’s look at these in more detail!
Azure Functions project and item templates
After installing the Azure Toolkit for Rider, a new project template becomes available: Azure Functions. This project template does require the Azure Functions Core Tools to be installed, which Rider can help us with. We will determine the correct version for your system, and then download and extract the Azure Functions Core Tools. Rider will also notify us when updates are available.
Once done, the Azure Functions project template becomes available, where we can create a new C# or F# Azure Functions project.
Next, we will have to build our functions. Rider provides item templates for common triggers (Timer, HTTP, Blobs, Queues, Service Bus, EventGrid, …). When using these templates, Rider will automatically install any required NuGet package references, such as the
Microsoft.Azure.WebJobs.Extensions.Storage when using any of the storage-based triggers.
Running and debugging Azure Functions
When opening or creating a project, Rider will check for the presence of a
host.json file and a package reference to
Microsoft.NET.Sdk.Functions to determine whether it is an Azure Functions project. When that is the case, we can run and debug our project – whether C# or F#.
From the Run | Edit configurations… menu (or from the toolbar), we can create a new run configuration of the type Azure Functions host. This will let us select the project to run or debug, set environment variables and so on.
After saving, we can hit F5 (or use the Run | Debug menu) and start debugging our functions! Like with debugging any other application, Rider lets us inspect the call stack, variables, and we can step through code as well. Even external code!
Managing and deploying Azure Function apps with Rider
The Azure Explorer tool window lets us browse various resources. This new release adds a new node where we can start/stop/restart/delete our Azure Functions apps, as well as edit application settings. The Azure Explorer also lists individual functions contained in a Function App.
Of course, before we can manage an Azure Function app, we will have to deploy it. We have added a new run configuration type just for that, similar to how Rider supports deploying Azure web apps.
From the Run | Edit configurations… menu (or from the toolbar), we can create a new run configuration of the type Azure – Publish Function App. In this run configuration, we can select an existing function app or create a new one to deploy into.
Azure SQL Database tools improvements
The latest Azure Toolkit for Rider comes with several improvements for working with Azure SQL Databases. We could already explore and connect to Azure SQL databases and database servers, but there was one step missing: configuring the firewall. Rider can now add a firewall rule for our public IP address.
From the Azure Explorer tool window, we can now create new databases, as well as new database servers. Rider lets us configure the resource group, location, database size and so on.
Other updates and improvements
Next to Azure Functions support and additional Azure SQL database functionality, we’ve fixed a number of bugs in Azure Cloud Shell support. We also fixed an issue where web app publishing settings not always saved correctly.