Skip to content

Azure/azure-functions-durable-extension

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

823704b ยท Nov 14, 2024
Oct 13, 2024
May 1, 2018
May 5, 2018
Mar 16, 2019
Nov 13, 2024
Nov 14, 2024
Nov 14, 2024
Nov 14, 2024
Sep 4, 2024
Feb 5, 2022
Feb 5, 2022
Aug 9, 2023
Mar 13, 2019
Sep 16, 2024
Jun 29, 2017
Jan 4, 2024
May 18, 2022
Oct 13, 2024
Oct 26, 2023
Feb 17, 2023
Jan 9, 2024
Jan 9, 2024
Oct 19, 2023
May 31, 2024
May 30, 2024
Jun 1, 2021
Nov 8, 2024
Sep 11, 2018

Repository files navigation

Durable Functions

Branch Status
dev Build Status

Durable Functions is an extension that helps developers build reliable, stateful apps on the Azure Functions platform.

This extension adds three new types functions to the Azure Functions family:

  • Orchestrator functions: Long-running, reliable workflow functions written in code that schedule and coordinate other functions.
  • Activity functions: Stateless functions that are the basic unit of work in a durable function orchestration.
  • Entity functions: Stateful actor-like functions that have identities and store state explicitly.

Durable Functions can run anywhere that Azure Functions can run, including in the Azure Functions "Serverless" Consumption plan, the Elastic Premium plan, on Kubernetes, or even locally for development using Visual Studio or Visual Studio Code.

๐Ÿ“‘ Official documentation ๐Ÿ“‘

For a more detailed overview, including examples of what you can do with Durable Functions, see our What is Durable Functions? article.

NuGet Packages

Durable Functions updates are published as NuGet packages.

Package Name NuGet
Microsoft.Azure.WebJobs.Extensions.DurableTask NuGet
Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers (C# only) NuGet
Microsoft.Azure.Functions.Worker.Extensions.DurableTask NuGet

Language support

Durable Functions supports a subset of languages supported by Azure Functions:

Language Status Repo
C# Generally available - get started Azure/azure-functions-durable-extension
JavaScript Generally available - get started Azure/azure-functions-durable-js
Python Generally available - get started Azure/azure-functions-durable-python
PowerShell Generally available - get started Azure/azure-functions-powershell-worker
Java Generally available - get started Microsoft/durabletask-java

Each language has its own language-specific SDK and programming model. Regardless of which language you use, the extension in this repo must be installed to enable the Durable Functions triggers.

Samples for each SDK may be found in their respective repos, usually under a "/samples" directory. For example, the JavaScript samples may be found here.

Installation

The Durable Functions NuGet package can be referenced directly in a Visual Studio project or can be installed using the Azure Functions Core Tools command-line:

func extensions install -p Microsoft.Azure.WebJobs.Extensions.DurableTask -v <latest version on Nuget.org>

Durable Functions is also available in supported extension bundles. Note that extension bundles are only supported for non-.NET languages.

Contributing

Many features of Durable Functions have been voluntarily contributed by the community, and we always welcome such contributions. If you are interested in contributing, please take a look at our CONTRIBUTING guide.

Publications

Durable Functions is developed in collaboration with Microsoft Research. As a result, the Durable Functions team actively produces research papers and artifacts; these include:

License

This project is licensed under the MIT License.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.