This article shows how to setup a Visual Studio Azure Functions project to work with HTTPS for local development. HTTP is configured per default and not HTTPS. The command line arguments need to be set correctly, and then the Azure Functions can be started in Visual Studio with HTTPS and take advantage of the break point debugging without having to attach the func process in Visual Studio.
Install the tools for local Azure Function development
To get Azure Functions to run locally, the following tools need to be installed. (As well as Visual Studio with the Azure components).
Microsoft Azure Storage Explorer
Microsoft Azure Storage Emulator
Install the Azure Functions Core Tools
npm install -g azure-functions-core-tools
Install the Azure Functions Visual Studio Extensions
Azure Functions and Web Jobs Tools need to be installed as an extension in Visual Studio.
Configure the Azure Functions project to use HTTPS
Create a certificate and add this to the operating system.
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 openssl rsa -passin pass:x -in server.pass.key -out server.key openssl req -new -key server.key -out server.csr openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
or
New-SelfSignedCertificate -DnsName "server.com", "server.com" -CertStoreLocation "cert:\LocalMachine\My" Get the thumbprint for later use $mypwd = ConvertTo-SecureString -String "1111" -Force -AsPlainText Get-ChildItem -Path cert:\localMachine\my\"thumbprint from above" | Export-PfxCertificate -FilePath C:\server.pfx -Password $mypwd
Copy the pfx file to the Function project, and configure the properties to copy this to the output.
Configure the command line arguments for Debug. The application arguments starts with host in Visual Studio and not func! This would be func in the command line.
Or just set this in the launchSettings.json
{ "profiles": { "FunctionApp1": { "commandName": "Project", "commandLineArgs": "host start --useHttps --cert \"server.pfx\" --password \"1111\"" } } }
When you start the Azure Function project with Visual Studio, the HTTPS URL will be used. This can be checked in the command line window which opens up after starting. Break point debugging is now possible as we started from Visual Studio.
If you start this from the console using the func start –useHttps –cert “server.pfx” –password “1111”, you need to attach the func process for break point debugging for using Visual Studio.
Links:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local
https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator
https://azure.microsoft.com/en-us/features/storage-explorer/
https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview
https://docs.microsoft.com/en-us/azure/azure-functions/functions-develop-vs
[…] Running Local Azure Functions in Visual Studio with HTTPS – Damien Bowden […]
[…] https://damienbod.com/2019/03/14/running-local-azure-functions-in-visual-studio-with-https/ […]
[…] https://damienbod.com/2019/03/14/running-local-azure-functions-in-visual-studio-with-https/ […]