Extension bundle provides a way for non-dotnet function apps to reference and use to Azure Function extension packages written in C#. It does that by bundling several of the azure function extensions into a single package and then referencing extension bundle via host.json. Below is sample configuration for extension bundles.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Branch | Status |
---|---|
v1.x | |
v2.x | |
v3.x | |
v3.x-preview | |
v4.x-preview |
cd build
dotnet run skip:PackageNetCoreV3BundlesLinux,CreateCDNStoragePackageLinux,BuildBundleBinariesForLinux
cd build
dotnet run skip:dotnet run skip:PackageNetCoreV3BundlesWindows,CreateRUPackage,CreateCDNStoragePackage,CreateCDNStoragePackageWindows,BuildBundleBinariesForWindows
Identify the bundle version you want to update and checkout the corresponding branch
Add the following details to extensions.json file
{
"id": "Microsoft.Azure.WebJobs.Extensions.Kafka", // Nuget package id for the extension
"majorVersion": "3", // Major version of the extension
"name": "Kafka", // This should match the name proprerty from bin/extensions.json in the generated output
// Easiest way to find out this is to perform the following steps.
// 1. Install the extension package to pre-compiled function app
// 2. Build the function app
// 3. Look at the bin/extension.json file in the output
"bindings": [ // binding attributes supported by the extension.
"kafkatrigger",
"kafka"
]
}
Build and test the extension bundle
Follow the steps mentioned at the link below to add a template to extension bundle.
Also follow the steps mentioned at the link below to test templates added to extension bundle
build/Build.sln
file in Visual Studiodotnet run
, i.e. "skip:XXX,YYY,..."
)build
directoryartifacts\Microsoft.Azure.Functions.ExtensionBundle.{version}_any-any.zip
file.func init . --worker-runtime node
func GetExtensionBundlePath
to find the path to the bundle being used.
%userprofile%\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle\2.8.4
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
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.