Skip to content

Commit b534038

Browse files
authored
Merge pull request #302637 from ShawnJackson/azure-functions-triggers-and-bindings
[AQ] edit pass: Articles about Azure Functions triggers and bindings
2 parents 89aa42a + 5038eb2 commit b534038

9 files changed

+331
-320
lines changed
Lines changed: 44 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,87 @@
11
---
2-
title: Azure Functions extension bundles
2+
title: Azure Functions Extension Bundles
33
description: Learn how to use extension bundles to make the correct set of Azure Functions trigger and binding extensions available in your non-.NET function code.
44
ms.topic: concept-article
55
ms.date: 05/30/2025
66

7-
#Customer intent: I want to understand how to correctly install extension bundles so that the functionality implemented in the extensions are available to my functions in my preferred development language.
7+
#Customer intent: I want to understand how to correctly install extension bundles so that the functionality implemented in the extensions is available to my functions in my preferred development language.
88
---
99

1010
# Azure Functions extension bundles
1111

12-
This article explains how extension bundles enable your function code use all of the [triggers and bindings supported by Azure Functions](./functions-triggers-bindings.md). You also learn about the various support levels and policies for your apps when using extension bundles.
12+
This article explains how extension bundles enable your function code to use all of the [triggers and bindings that Azure Functions supports](./functions-triggers-bindings.md). You also learn about the support levels and policies for your apps when you use extension bundles.
1313

14-
This article applies only to Azure Functions developers using non-.NET languages. To learn how to add binding extensions directly to your C# function apps, see [Register Azure Functions binding extensions](functions-bindings-register.md).
14+
This article applies only to Azure Functions developers who use non-.NET languages. To learn how to add binding extensions directly to your C# function apps, see [Register Azure Functions binding extensions](functions-bindings-register.md).
1515

1616
## Overview
1717

18-
Extension bundles adds 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 versions of the extensions that you need in your app.
18+
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 versions of the extensions that you need in your app.
1919

20-
When you create an Azure Functions project from a non-.NET template, extension bundles are already enabled in the app's *host.json* file.
20+
When you create an Azure Functions project from a non-.NET template, extension bundles are already enabled in the app's `host.json` file.
2121

22-
## Define an extension bundle reference
22+
## Defining an extension bundle reference
2323

24-
You define an extension bundle reference in the *host.json* project file by adding an `extensionBundle` section, as in this example:
24+
You define an extension bundle reference in the `host.json` project file by adding an `extensionBundle` section, as in this example:
2525

2626
[!INCLUDE [functions-extension-bundles-json](../../includes/functions-extension-bundles-json.md)]
2727

2828
## Supported extension bundles
2929

30-
This table lists all `Microsoft.Azure.Functions.ExtensionBundle` bundle versions and the current [support state](#support-policy).
30+
This table lists all `Microsoft.Azure.Functions.ExtensionBundle` bundle versions and the current [support state](#support-policy):
3131

3232
| Bundle version | Version in host.json | Support state | End-of-support date |
3333
| --- | --- | --- | --- |
3434
| [4.x](https://github.com/Azure/azure-functions-extension-bundles/blob/main/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[4.0.0, 5.0.0)` | Active | Not yet determined |
35-
| [3.x](https://github.com/Azure/azure-functions-extension-bundles/blob/main-v3/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[3.3.0, 4.0.0)` | Deprecated | 05/30/2026 |
36-
| [2.x](https://github.com/Azure/azure-functions-extension-bundles/blob/main-v2/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[2.*, 3.0.0)` | Deprecated | 05/30/2026 |
37-
| [1.x](https://github.com/Azure/azure-functions-extension-bundles/blob/v1.x/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[1.*, 2.0.0)` | Deprecated | 05/30/2026 |
35+
| [3.x](https://github.com/Azure/azure-functions-extension-bundles/blob/main-v3/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[3.3.0, 4.0.0)` | Deprecated | May 30, 2026 |
36+
| [2.x](https://github.com/Azure/azure-functions-extension-bundles/blob/main-v2/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[2.*, 3.0.0)` | Deprecated | May 30, 2026 |
37+
| [1.x](https://github.com/Azure/azure-functions-extension-bundles/blob/v1.x/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json) | `[1.*, 2.0.0)` | Deprecated | May 30, 2026 |
3838

39-
The default extension bundles are defined using version ranges. Select the **Bundle version** to see the _extensions.json_ definition file used to generate the current major extension bundle version.
39+
The default extension bundles are defined via version ranges. To see the `extensions.json` definition file that generates the current bundle version for a major extension, select the link in the table.
4040

41-
For more information, see [Support policy](#support-policy).
41+
## Considerations for extension bundles
4242

43-
## Extension bundles considerations
43+
Keep these considerations in mind when you work with extension bundles:
4444

45-
Keep these considerations in mind when working with extension bundles:
45+
- When possible, you should set a `version` range value in `host.json` from the preceding table, such as `[4.0.0, 5.0.0)`, instead of defining a custom range.
46+
- Use the latest version range to obtain optimal app performance and access to the latest features.
47+
- In the unlikely event that you can't use an extension bundle, you must instead [explicitly install extensions](./functions-bindings-register.md#explicitly-install-extensions).
4648

47-
+ 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.
48-
+ Use the latest version range to obtain optimal app performance and access to the latest features.
49-
+ In the unlikely event you can't use an extension bundle, you must instead [explicitly install extensions](./functions-bindings-register.md#explicitly-install-extensions).
49+
## Previewing extension bundles
5050

51-
## Preview extension bundles
51+
Prerelease versions of specific binding extensions are maintained in a preview extension bundle: `Microsoft.Azure.Functions.ExtensionBundle.Preview`. You can use this preview extension bundle to take advantage of preview extensions and new behaviors in existing extensions before they reach general availability (GA).
5252

53-
Prerelease versions of specific binding extensions are made maintained in a preview extension bundle. The preview extension bundle (`Microsoft.Azure.Functions.ExtensionBundle.Preview`) allows you to take advantage of preview extensions and new behaviors in existing extensions before they're declared as GA.
53+
Keep these considerations in mind when you choose to use a non-GA extension bundle:
5454

55-
Keep these considerations in mind when choosing to use a non-GA extension bundle:
55+
- Preview bundles can include features that are still under development and not yet ready for production use. They're intended for evaluation and testing in nonproduction environments.
56+
- Breaking changes occur between preview versions without prior notice. They can include changes to:
57+
- Trigger and binding definitions.
58+
- Extensions included in the preview.
59+
- Performance characteristics and stability.
60+
- Security updates might require you to upgrade versions.
61+
- You must completely test preview bundles in nonproduction environments and avoid using preview bundles in production. When you must use a preview bundle in production, take these extra precautions:
62+
- Pin your bundle to a specific, well-tested bundle version instead of to a range. Pinning prevents automatic upgrading of your bundle version before you have a chance to verify the update in a nonproduction environment.
63+
- Move your app to using a GA bundle version as soon as the functionality becomes available in a fully supported bundle release.
64+
- To stay informed about bundle updates, including moving from preview to GA, you should:
65+
- Monitor releases of preview bundle versions on the [release page for extension bundles](https://github.com/Azure/azure-functions-extension-bundles/releases).
66+
- Monitor [extension-specific reference documentation](./functions-triggers-bindings.md).
67+
- Review the NuGet package versions of specific preview extensions that you're using.
68+
- Track significant updates or changes in the change logs published on NuGet.org for each preview extension.
5669

57-
+ Preview bundles can include features that are still under development and not yet ready for production use. They're intended for evaluation and testing in nonproduction environments.
58-
+ Breaking changes occur between preview versions without prior notice, which can include changes to:
59-
+ Trigger and binding definitions
60-
+ Extensions included in the preview
61-
+ Performance characteristics and stability
62-
+ Security updates might require you to upgrade versions.
63-
+ You must completely test preview bundles in nonproduction environments and avoid using preview bundles in production. When you must use a preview bundle in production, take these extra precautions:
64-
+ Pin your bundle to a specific well-tested bundle version instead of to a range. Pinning prevents automatic upgrading of your bundle version before you have a chance to verify the update in a nonproduction environment.
65-
+ Move your app to using a GA bundle version as soon as the functionality becomes available in a fully supported bundle release.
66-
+ To stay informed about bundle updates, including moving from preview to GA, you should:
67-
+ Monitor preview bundle version releases on the [extension bundles release page](https://github.com/Azure/azure-functions-extension-bundles/releases). - Releases · Azure/azure-functions-extension-bundles
68-
+ Monitor [extension specific reference documentation](./functions-triggers-bindings.md).
69-
+ Review the NuGet package versions of specific preview extensions you're using.
70-
+ Track significant updates or changes on the change logs published on NuGet.org for each preview extension.
70+
## Support policy
7171

72-
## Support policy 
73-
74-
Major version releases of extension bundles can occur when there are breaking changes or updates in the dependencies of the underlying binding extensions. These breaking changes, often introduced in Azure SDKs, require updates to the bundle to remain compatible.
72+
Major version releases of extension bundles can occur when there are breaking changes or updates in the dependencies of the underlying binding extensions. These breaking changes, often introduced in Azure SDKs, require updates to the bundle to remain compatible.
7573

7674
The support cycle of a GA extension bundle follows these distinct phases:
7775

7876
| Phase | Description |
7977
| ----- | ----- |
80-
| Active | The most recent major version of extension bundles is considered the active version and is recommended for your function apps. |
81-
| Notification| Microsoft provides advanced notice before retiring an extension bundle or binding extension version. When you receive such a notification, you should begin planning to upgrade your function apps to a latest supported extension bundle version. This upgrade ensures that your apps continue to access new features, performance improvements, and support. |
82-
| Deprecation | When a new major extension bundle version becomes generally available, the previous version enters a 12-month deprecation phase. This overlap period gives you time to plan, test, and upgrade your apps before the previous version is retired. |
83-
| Retirement | After the retirement of an extension bundle, function apps that reference that specific version arent eligible for new features, security patches, and performance optimizations. Function apps that use retired versions can still be created and deployed and are permitted to run on the platform. However, you must upgrade your functions app to a supported bundle version before you can receive support.|
78+
| Active | The most recent major version of extension bundles is considered the active version. We recommend this version for your function apps. |
79+
| Notification| Microsoft provides advanced notice before retiring an extension bundle or a binding extension version. When you receive such a notification, you should begin planning to upgrade your function apps to the latest version of a supported extension bundle. This upgrade helps ensure that your apps continue to access new features, performance improvements, and support. |
80+
| Deprecation | When a new bundle version for a major extension becomes generally available, the previous version enters a 12-month deprecation phase. This overlap period gives you time to plan, test, and upgrade your apps before the previous version is retired. |
81+
| Retirement | After the retirement of an extension bundle, function apps that reference that specific version aren't eligible for new features, security patches, and performance optimizations. Function apps that use retired versions can still be created and deployed and are permitted to run on the platform. However, you must upgrade your function app to a supported bundle version before you can receive support.|
8482

85-
You can view the extension bundle versions and their included extensions in the [Azure Functions Extension Bundles GitHub repo](https://github.com/Azure/azure-functions-extension-bundles/releases). Individual .NET packages are found on [https://nuget.org](https://nuget.org).
83+
You can view the extension bundle versions and their included extensions in the [GitHub repo for Azure Functions extension bundles](https://github.com/Azure/azure-functions-extension-bundles/releases). You can find individual .NET packages on [NuGet.org](https://nuget.org).
8684

87-
## Related articles
85+
## Related content
8886

89-
To learn more about binding extensions, see [Register Azure Functions binding extensions](functions-bindings-register.md).
87+
- To learn more about binding extensions, see [Register Azure Functions binding extensions](functions-bindings-register.md).

0 commit comments

Comments
 (0)