In past few articles, I have been trying to capture few things that I am learning about Azure Functions.
Today, I was going through documentation and was trying to understand how to setup local development environment. So, in this article, I am going to write down high level overview of what options are available for creating Azure Functions.
Azure Portal
Azure Functions can be developed and deployed by using Azure Portal. In fact, if we create a Function App and then try to create function in Azure Portal, a blade, as shown in below snapshot, appears. Here, the very first input asks which development environment do we prefer. The dropdown shows three options
- VS Code
- Any Editor + Core Tools,
- Develop in portal
Once the function is created, it can be developed / tested / monitored at the same place, i.e. in Azure Portal. The snapshot below shows the screen which can be used to develop and test a .NET based Azure Function. The function script is present in run.csx file. There is a JSON file which configures which kind of HTTP requests can be accepted, what is function name and authorization level.
Core Tools + Any IDE
The core tools, Azure Functions Core Tools, can be installed locally. Then these tools can be used to develop and test the functions locally. There are four different versions of these tools. Starting from version 2.x, these core tools can be used on all three major platforms, Windows, macOS, and Linux.
Once these tools are installed, the command line can be used to create the project. Then any IDE can be used to edit the code files. It is recommended to use 64-bit version of core tools as it has better support for debugging in Visual Studio Code.
You can refer the commands given in this read me file in GitHub repository. They should be helpful to get you started with core tools, if you want to use it for local development environment.
Visual Studio
When we install (or modify existing installation of) Visual Studio, Azure development workload should be selected. Once we have that workload installed, Visual Studio provides options to create either in-process or isolated worker process Azure Functions. The source code files can be modified in the Visual Studio and the projects can be compiled and also can be deployed to Azure using Visual Studio.
We already have seen how to create the a new functions app project in previous articles and hence I am not going to write about it here again.
I hope you find this information helpful. Let me know your thoughts.