Durable Functions Orchestration Basics
Learn the fundamentals of the orchestration process in Azure Durable Functions.
We'll cover the following...
We'll cover the following...
In this lesson, we will have a look at how the orchestration process works in Durable Functions. We will do so with the help of the interactive playground below:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.9.2" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.1" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>Durable function example
In this setup, we have a simple HTTP trigger that starts the orchestrator. The orchestrator then triggers a basic activity function that returns a message based on its input.
Starting the orchestrator
When the trigger function starts the orchestrator, behind the scenes, a message is placed on a queue in the Azure Storage Account. This is why we need access to a Storage Account for a durable function to work.
In the example above, we start the orchestrator in line 35 of the Functions.cs file, which looks like this:
string instanceId = await starter.StartNewAsync("Function", null);
...