Skip to content

Commit 08e5fdb

Browse files
committed
Fixup
1 parent d17fbcb commit 08e5fdb

File tree

1 file changed

+22
-34
lines changed

1 file changed

+22
-34
lines changed

articles/azure-functions/functions-bindings-register.md

Lines changed: 22 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,27 @@
22
title: Register Azure Functions binding extensions
33
description: Learn to register an Azure Functions binding extension based on your environment.
44
ms.topic: reference
5-
ms.date: 06/26/2024
5+
ms.date: 05/07/2025
6+
zone_pivot_groups: programming-languages-set-functions-full
67
---
78

89
# Register Azure Functions binding extensions
910

10-
Starting with Azure Functions version 2.x, the functions runtime only includes HTTP and timer triggers by default. Other [triggers and bindings](./functions-triggers-bindings.md) are available as separate packages.
11+
The Azure Functions runtime natively runs HTTP and timer triggers. Other supported [triggers and bindings](./functions-triggers-bindings.md) are available as separate NuGet extension packages.
1112

12-
.NET class library functions apps use bindings that are installed in the project as NuGet packages. Extension bundles allow non-.NET functions apps to use the same bindings without having to deal with the .NET infrastructure.
13-
14-
The following table indicates when and how you register bindings.
15-
16-
| Development environment |Registration<br/> in Functions 1.x |Registration<br/> in Functions 2.x or later |
17-
|-------------------------|------------------------------------|------------------------------------|
18-
|Azure portal|Automatic|Automatic<sup>*</sup>|
19-
|Non-.NET languages|Automatic|Use [extension bundles](#extension-bundles) (recommended) or [explicitly install extensions](#explicitly-install-extensions)|
20-
|C# class library using Visual Studio|[Use NuGet tools](functions-develop-vs.md#add-bindings)|[Use NuGet tools](functions-develop-vs.md#add-bindings)|
21-
|C# class library using Visual Studio Code|N/A|[Use .NET Core CLI](functions-develop-vs-code.md?tabs=csharp#install-binding-extensions)<br/>[Use the C# Dev Kit](https://code.visualstudio.com/docs/csharp/package-management#_add-a-package)|
22-
23-
<sup>*</sup> Portal uses extension bundles, including C# script.
13+
::: zone pivot="programming-language-csharp"
14+
.NET class library projects use binding extensions that are installed in the project as NuGet packages.
15+
::: zone-end
16+
::: zone pivot="programming-language-python,programming-language-java,programming-language-javascript,programming-language-typescript,programming-language-powershell,programming-language-other"
17+
Extension bundles allow non-.NET apps to use binding extensions without having to interact with .NET infrastructure.
2418

2519
## <a name="extension-bundles"></a>Extension bundles
2620

27-
By default, extension bundles provide binding support for functions in these languages:
28-
29-
+ Java
30-
+ JavaScript
31-
+ PowerShell
32-
+ Python
33-
+ C# script
34-
+ Other (custom handlers)
35-
36-
In rare cases where extension bundles can't be used, you can explicitly install binding extensions with your function app project. Extension bundles are supported for version 2.x and later version of the Functions runtime.
37-
38-
Extension bundles are a way to add a pre-defined set of compatible binding extensions to your function app. Extension bundles are versioned. Each version contains a specific set of binding extensions that are verified to work together. Select a bundle version based on the extensions that you need in your app.
21+
Extension bundles add a predefined set of compatible binding extensions to your function app. Extension bundles are versioned. Each version contains a specific set of binding extensions that are verified to work together. Select a bundle version based on the extensions that you need in your app.
3922

4023
When you create a non-.NET Functions project from tooling or in the portal, extension bundles are already enabled in the app's *host.json* file.
4124

42-
An extension bundle reference is defined by the `extensionBundle` section in a *host.json* as follows:
25+
You define an extension bundle reference in the *host.json* project file by adding an `extensionBundle` section, as in this example:
4326

4427
[!INCLUDE [functions-extension-bundles-json](../../includes/functions-extension-bundles-json.md)]
4528

@@ -52,18 +35,23 @@ The following table lists the currently available version ranges of the default
5235
| 2.x | `[2.*, 3.0.0)` | See [extensions.json](https://github.com/Azure/azure-functions-extension-bundles/blob/main-v2/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) used to generate the bundle. |
5336
| 1.x | `[1.*, 2.0.0)` | See [extensions.json](https://github.com/Azure/azure-functions-extension-bundles/blob/v1.x/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) used to generate the bundle. |
5437

38+
Keep these considerations in mind when working with extension bundles:
5539

56-
> [!NOTE]
57-
> Even though host.json supports custom ranges for `version`, you should use a version range value from this table, such as `[4.0.0, 5.0.0)`. To ensure optimal performance and access to the latest features, it is <b>recommended to use the latest version range</b>. For a complete list of extension bundle releases and extension versions in each release, see the [extension bundles release page](https://github.com/Azure/azure-functions-extension-bundles/releases).
58-
59-
## Explicitly install extensions
40+
+ When possible, you should set a `version` range value in *host.json* from this table, such as `[4.0.0, 5.0.0)`, instead of defining a custom range.
41+
+ Use the latest version range to obtain optimal app performance and access to the latest features.
6042

61-
For compiled C# class library projects ([in-process](functions-dotnet-class-library.md) and [isolated worker process](dotnet-isolated-process-guide.md)), you install the NuGet packages for the extensions that you need as you normally would. For examples see either the [Visual Studio Code developer guide](functions-develop-vs-code.md?tabs=csharp#install-binding-extensions) or the [Visual Studio developer guide](functions-develop-vs.md#add-bindings). See the [extension bundles release page](https://github.com/Azure/azure-functions-extension-bundles/releases) to review combinations of extension versions that are verified compatible.
43+
For a complete list of extension bundle releases and extension versions in each release, see the [extension bundles release page](https://github.com/Azure/azure-functions-extension-bundles/releases).
44+
::: zone-end
6245

63-
For non-.NET languages and C# script, when you can't use extension bundles you need to manually install required binding extensions in your local project. The easiest way is to use Azure Functions Core Tools. For more information, see [func extensions install](functions-core-tools-reference.md#func-extensions-install).
46+
## Explicitly install extensions
47+
::: zone pivot="programming-language-csharp"
48+
For compiled C# class library projects ([in-process](functions-dotnet-class-library.md) and [isolated worker process](dotnet-isolated-process-guide.md)), you install the NuGet packages for the extensions that you need as you normally would. For examples, see either the [Visual Studio Code developer guide](functions-develop-vs-code.md?tabs=csharp#install-binding-extensions) or the [Visual Studio developer guide](functions-develop-vs.md#add-bindings). See the [extension bundles release page](https://github.com/Azure/azure-functions-extension-bundles/releases) to review combinations of extension versions that are verified compatible.
49+
::: zone-end
50+
::: zone pivot="programming-language-python,programming-language-java,programming-language-javascript,programming-language-typescript,programming-language-powershell,programming-language-other"
51+
When you can't use extension bundles you instead must manually install any required binding extensions in your local project. The easiest way to generate the correct C# project is to use Azure Functions Core Tools. For more information, see [func extensions install](functions-core-tools-reference.md#func-extensions-install).
6452

6553
For portal-only development, you need to manually create an extensions.csproj file in the root of your function app. To learn more, see [Manually install extensions](functions-how-to-use-azure-function-app-settings.md#manually-install-extensions).
66-
54+
::: zone-end
6755
## Next steps
6856
> [!div class="nextstepaction"]
6957
> [Azure Function trigger and binding example](./functions-bindings-example.md)

0 commit comments

Comments
 (0)