Info |
---|
Applied to Visual Studio Development : we’d rather run the In-process model (function code runs in the same process as the Functions host process, using .NET runtime) than the Isolated worker process (function code runs in a separate .NET worker process.). |
Develop Azure Functions using Visual Studio | Microsoft Learn
Choose the worker mode : isolated worker vs in-process
...
During local development, these settings are instead added to the Values
collection in the local.settings.json file. The local.settings.json file also stores settings used by local development tools.
Visual Studio doesn't automatically upload the settings in local.settings.json when you publish the project. To make sure that these settings also exist in your function app in Azure, upload them after you publish your project.
Remark : The values in a ConnectionStrings
collection are never published.
...
The Functions runtime uses an Azure Storage account internally. For all trigger types other than HTTP and webhooks, set the Values.AzureWebJobsStorage key to a valid Azure Storage account connection string.
To use the emulator, set the value of AzureWebJobsStorage to UseDevelopmentStorage=true. Change this setting to an actual storage account connection string before deployment.
...
Code Block | ||
---|---|---|
| ||
using System; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Host; using Microsoft.Extensions.Logging; namespace FunctionApp1 { public static class Function1 { [FunctionName("QueueTriggerCSharp")] public static void Run([QueueTrigger("myqueue-items", Connection = "QueueStorage")]string myQueueItem, ILogger log) { log.LogInformation($"C# Queue trigger function processed: {myQueueItem}"); } } } |
Add bindings
Code Block | ||
---|---|---|
| ||
Install-Package Microsoft.Azure.WebJobs.Extensions.<BINDING_TYPE> -Version <TARGET_VERSION> |
Replace <BINDING_TYPE> with the name specific to the binding extension and <TARGET_VERSION> with a specific version of the package, such as 3.0.0-beta5.
Finally, add the appropriate binding attribute to the method signature.
Code Block | ||
---|---|---|
| ||
public static class SimpleExampleWithOutput
{
[FunctionName("CopyQueueMessage")]
public static void Run(
[QueueTrigger("myqueue-items-source", Connection = "AzureWebJobsStorage")] string myQueueItem,
[Queue("myqueue-items-destination", Connection = "AzureWebJobsStorage")] out string myQueueItemCopy,ILogger log)
{
log.LogInformation($"CopyQueueMessage function processed: {myQueueItem}");
myQueueItemCopy = myQueueItem;
}
} |
Run functions locally
When you press F5 to debug a Functions project, the local Functions host (func.exe) starts to listen on a local port (usually 7071).
Publish to Azure : Develop Azure Functions using Visual Studio | Microsoft Learn
...
Manage Function app settings
Visual Studio doesn't upload these settings automatically when you publish the project. Any settings you add in the local.settings.json you must also add to the function app in Azure.
...
By default, the local.settings.json file is not checked into source control. This means that if you clone a local Functions project from source control, the project doesn't have a local.settings.json file. In this case, you need to manually create the local.settings.json file in the project root so that the Application settings dialog works as expected.
Remote Debugging (Attach the debugger)
To debug your function app remotely, you must publish a debug configuration of your project. You also need to enable remote debugging in your function app in Azure.
...
Visual Studio connects to your function app and enables remote debugging, if it's not already enabled. It also locates and attaches the debugger to the host process for the app. At this point, you can debug your function app as normal.
Azure Functions: how to debug remotely in production – Stefano Demiliani