Giter VIP home page Giter VIP logo

azure-functions-extension-bundles's Introduction

Overview

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)"
    }
}

Build status

Branch Status
v1.x Build Status
v2.x Build Status
v3.x Build Status
v3.x-preview Build Status
v4.x-preview Build Status

Build Requirements

Build Steps

Windows

cd build

dotnet run skip:PackageNetCoreV3BundlesLinux,CreateCDNStoragePackageLinux,BuildBundleBinariesForLinux,DownloadManifestUtility,RunManifestUtilityLinux,RunManifestUtilityWindows

Linux

cd build

dotnet run skip:dotnet run skip:PackageNetCoreV3BundlesWindows,CreateRUPackage,CreateCDNStoragePackage,CreateCDNStoragePackageWindows,BuildBundleBinariesForWindows,DownloadManifestUtility,RunManifestUtilityWindows,RunManifestUtilityLinux

Add extension to a extension bundle

  1. Identify the bundle version you want to update and checkout the corresponding branch

    Bundle version Branch
    v1.x https://github.com/Azure/azure-functions-extension-bundles/tree/v1.x
    v2.x https://github.com/Azure/azure-functions-extension-bundles/tree/v2.x
    v3.x https://github.com/Azure/azure-functions-extension-bundles/tree/v3.x
    v3.x-preview https://github.com/Azure/azure-functions-extension-bundles/tree/v3.x-preview
    v4.x-preview https://github.com/Azure/azure-functions-extension-bundles/tree/v4.x-preview
  2. 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"
            ]
        }
  3. Build and test the extension bundle

Add template to extension bundle.

Debugging the build process in Visual Studio

  1. Open the build/Build.sln file in Visual Studio
  2. Create a debug profile for the project (right-click on the project, "Properties", "Debug", "Open debug launch profiles UI")
  3. Set the Command Line arguments using the instructions above (everything after dotnet run, i.e. "skip:XXX,YYY,...")
  4. Set the working directory to be the build directory
  5. F5

Test an Extension Bundle

  1. Build extension bundles locally and locate the artifacts\Microsoft.Azure.Functions.ExtensionBundle.{version}_any-any.zip file.
  2. Create a function app via core tools, open host.json to verify that it has extension bundle configuration present.
    • Sample commands for node app: func init . --worker-runtime node
  3. Execute the func GetExtensionBundlePath to find the path to the bundle being used.
    • Sample response: %userprofile%\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle\2.8.4
  4. Replace the contents of the bundle directory from step 3 with the contents of the zip file from Step 1.

Contributing

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 [email protected] with any additional questions or comments.

azure-functions-extension-bundles's People

Contributors

anatolib avatar anthonychu avatar ashiquemd avatar azfuncgh avatar bachuv avatar cgillum avatar charles-gagnon avatar davidmrdavid avatar dependabot[bot] avatar fabiocav avatar francisco-gamino avatar gzuber avatar joshlove-msft avatar jviau avatar kashimiz avatar kshyju avatar maddydev avatar madelinegordon avatar mapalan avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar msftgits avatar soninaren avatar surgupta-msft avatar tsuyoshiushio avatar v-smanchem avatar y-sindo avatar yojagad avatar zackliu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azure-functions-extension-bundles's Issues

Webpubsub missing webPubSubContext binding

Trying to use Azure Web PubSub with the bundle with the static web apps seems to result in an error that the webPubSubContext binding isn't registered. I can confirm this looking at the extensions.json

Bundle version 3.5.0 not available?

I see version 3.5.0 has been released, but I still get version 3.3.0 when starting my function app. Seems like version 3.5.0 isn't available?

I get this output when starting my function app:
Fetching information on versions of extension bundle Microsoft.Azure.Functions.ExtensionBundle available on https://functionscdn.azureedge.net/public/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle/index.json

The list of versions on that URL does not include 3.5.0.

Upgrade Microsoft.Azure.WebJobs.Extensions.EventGrid to 3.0.1 in bundle

I recently reported an issue with Microsoft.Azure.WebJobs.Extensions.EventGrid version 3.0.0. This was fixed and a new version has been released (3.0.1: https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.0.1).

I though that using extension bundle version 3.x ("version": "[3.3.0, 4.0.0)") automatically caused us to use the latest major version of each extension, so we would get the latests version of the EventGrid extension without doing anything. This does not seem to be the case. I deleted my local cached version of extension bundle version 3.x so it would be downloaded again, but I still get version 3.0.0 of Microsoft.Azure.WebJobs.Extensions.EventGrid.

Do you have to trigger a new release or a pipeline run so we can get version 3.0.1 of the EventGrid extension and get our issue resolved?

Original issue: Azure/azure-sdk-for-net#25810

Add E2E automation in the bundle build to verify that all extensions are loaded into the function app.

Currently we do not have any e2e test / validation on the extension bundle. We need to add end to end test to validate that the function app is able to load the newly built extension bundle, and all the extensions contained within the extension bundle.

Tasks.

  1. Add a test function app to the extension bundle repo in the respective branches.
  2. Add functions for each of the extension referenced in the extension bundle.
  3. Add check to confirm the function app was able to start the function app and load all the extensions.

initialOffsetOptions on Event Hub Trigger is not valid on the current Extension Bundle

Functions 2.x and higher supports initialOffsetOptions on host.json. Official document is here.

{
    "version": "2.0",
    "extensions": {
        "eventHubs": {
            "batchCheckpointFrequency": 5,
            "eventProcessorOptions": {
                "maxBatchSize": 256,
                "prefetchCount": 512
            },
            "initialOffsetOptions": {
                "type": "fromStart",
                "enqueuedTimeUtc": ""
            }
        }
    }
}

but initialOffsetOptions is valid from Microsoft.Azure.WebJobs.Extensions.EventHubs 4.2.0.
Current Extension Bundle 2.x contains ver 4.1.1. Upgrade of Microsoft.Azure.WebJobs.Extensions.EventHubs is necessary.

{
        "id": "Microsoft.Azure.WebJobs.Extensions.EventHubs",
        "version": "4.1.1",
        "name": "EventHubs",
        "bindings": [
            "eventhubtrigger",
            "eventhub"
        ]
    },

Extension bundles v1.3.3 seems to contain DurableTask v1.8.5 instead of v1.8.6

Regarding about the following release note, I expect Extension bundles v1.3.3 to have DurableTask v1.8.6.

https://github.com/Azure/azure-functions-extension-bundles/releases/tag/1.3.3

But, when I open its extensions.csproj from the zip file, we can see the definition below.

<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="1.8.5" />

Extension Bundle v1.3.3 contains older version Durable Task?

As you may see the following screenshot, Object Explore of Visual Studio 2019 shows Microsoft.Azure.WebJobs.Extensions.DurableTask.dll is v1.8.5.

image

CosmosDB output binding error in Extension Bundles 4.3.1 Preview

Description

When executing a function with CosmosDB output binding, it failed with the following error message
Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
It works fine in the previous Extension Bundles 4.2.1 Preview

App Details

Build error: Access to path "bin\NetCoreApp3_win_x64\bin" is denied.

I encountered build error in PR #78 . The first commit passed the build while the second commit failed. I try to build the project locally (see the steps and logs attached), but neither commit succeeded. Also there is no dependency change between the two commits. So I believe there are some environmental changes between these two commits.

Under build/ directory, run dotnet run skip:GenerateNetCoreV3BundlesLinux,CreateCDNStoragePackageLinux,BuildBundleBinariesForLinux /p:PublishReadyToRunShowWarnings=true

Here are the logs:
log1.4.1.txt

The error is

Unhandled exception. System.IO.IOException: Access to the path 'C:\Users\xxx\source\repos\azure-functions-extension-bundles\bin\NetCoreApp3_win_x64\bin' is denied.
  at System.IO.FileSystem.MoveDirectory(String sourceFullPath, String destFullPath)
  at System.IO.Directory.Move(String sourceDirName, String destDirName)
  at Build.BuildSteps.BuildExtensionsBundle(BuildConfiguration buildConfig) in C:\Users\xxx\source\repos\azure-functions-extension-bundles\build\BuildSteps.cs:line 121
  at Build.BuildSteps.<>c.<BuildBundleBinariesForWindows>b__2_0(BuildConfiguration config) in C:\Users\xxx\source\repos\azure-functions-extension-bundles\build\BuildSteps.cs:line 65
  at System.Collections.Generic.List`1.ForEach(Action`1 action)
  at Build.BuildSteps.BuildBundleBinariesForWindows() in C:\Users\xxx\source\repos\azure-functions-extension-bundles\build\BuildSteps.cs:line 65
  at Build.Orchestrator.Run() in C:\Users\xxx\source\repos\azure-functions-extension-bundles\build\Orchestrator.cs:line 69
  at Build.Program.Main(String[] args) in C:\Users\xxx\source\repos\azure-functions-extension-bundles\build\Program.cs:line 12

System.Private.CoreLib: Value cannot be null (Parameter 'input')

Hi, I think something changed as last night I had no issue and then this popped up:

image

Tried changing version, manually downloading which doesn't work and using core tools to install but no success.

"extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.3.0, 4.0.0)"
}

ManifestTool missing from Tools directory

It looks like ManifestTool.dll is missing from the Tools directory/folder.

I'm able to build for linux-arm64 but unable to RunManifestUtility...

Ultimate goal is to build azure functions docker image for ARM64. I've generated one but with x64 extensions but I want to replace those with ARM64 extensions

Error with eventGrid binding type

Error:

Function (********) Error: The binding type(s) 'eventGrid' are not registered. Please ensure the type is correct and the binding extension is installed.
Session Id: 469891e8da0943c1a5e26080eb945c51

Timestamp: 2020-02-21T17:49:33.728Z

Based on the documentation https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-grid-output?tabs=javascript and the code in https://github.com/Azure/azure-functions-eventgrid-extension/blob/dev/src/EventGridExtension/OutputBinding/EventGridAttribute.cs

I think https://github.com/Azure/azure-functions-extension-bundles/blob/master/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json#L54 needs to be changed to

    {
        "id": "Microsoft.Azure.WebJobs.Extensions.EventGrid",
        "version": "2.1.0",
        "name": "EventGrid",
        "bindings": [
            "eventgridtrigger",
            "eventgrid"
        ]
    },

Thanks

Latest bundle 3.5.0 cannot be used as not appearing in https://functionscdn.azureedge.net/public/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle/index.json

Hi,

I am trying to force my function app to use the latest version of the Extension Bundle by updating my hosts.json as below:

"extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[3.5.0, 4.0.0)" }

However it is failing to find the 3.5.0 version in this file:
https://functionscdn.azureedge.net/public/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle/index.json
So I get the error "Bundle version matching the [3.5.0, 4.0.0) was not found Unable to find or download extension bundle"

I was able to manually download the bundle and extract it to C:\Users<user>.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle\3.5.0

But despite finding the package it still refers to the index.json and fails:
image

Please add Azure Web PubSub to the functions extension bundle.

Azure Web PubSub (currently in preview) has Azure function triggers, input/output bindings.

Currently, Microsoft.Azure.WebJobs.Extensions.WebPubSub is not a part of the functions extension bundle and I'm forced to register it separately.

func extensions install --package Microsoft.Azure.WebJobs.Extensions.WebPubSub --version 1.0.0-beta.3

Would it be possible to add this package to the extension bundle?

Edit: Submitted PR #108 to address this issue. Can someone please take a look?

PubSub missing from 3.3.0?

My extensions.json for 3.3.0 does not appear to include PubSub in contrast to https://github.com/Azure/azure-functions-extension-bundles/blob/v3.x/src/Microsoft.Azure.Functions.ExtensionBundle/extensions.json

Here is what appears in my C:\Users\user.name.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle\3.3.0\bin\extensions.json, the structure of my JSON even seems different.

{
    "extensions": [
        {
            "name": "CosmosDB",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.CosmosDB.CosmosDBWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.CosmosDB, Version=3.0.10.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
            "bindings": [
                "cosmosdbtrigger",
                "cosmosdb"
            ]
        },
        {
            "name": "DurableTask",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.DurableTask.DurableTaskWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.DurableTask, Version=2.0.0.0, Culture=neutral, PublicKeyToken=014045d636e89289",
            "bindings": [
                "activitytrigger",
                "orchestrationtrigger",
                "entitytrigger",
                "durableclient",
                "orchestrationclient"
            ]
        },
        {
            "name": "EventGrid",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.EventGrid.EventGridWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.EventGrid, Version=3.0.0.0, Culture=neutral, PublicKeyToken=014045d636e89289",
            "bindings": [
                "eventgridtrigger",
                "eventgrid"
            ]
        },
        {
            "name": "EventHubs",
            "typeName": "Microsoft.Azure.WebJobs.EventHubs.EventHubsWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.EventHubs, Version=5.0.0.0, Culture=neutral, PublicKeyToken=014045d636e89289",
            "bindings": [
                "eventhubtrigger",
                "eventhub"
            ]
        },
        {
            "name": "Kafka",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.Kafka.KafkaWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Kafka, Version=3.3.2.0, Culture=neutral, PublicKeyToken=null",
            "bindings": [
                "kafkatrigger",
                "kafka"
            ]
        },
        {
            "name": "SendGrid",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.SendGrid.SendGridWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.SendGrid, Version=3.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
            "bindings": [
                "sendgrid"
            ]
        },
        {
            "name": "ServiceBus",
            "typeName": "Microsoft.Azure.WebJobs.ServiceBus.ServiceBusWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.ServiceBus, Version=5.0.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8",
            "bindings": [
                "servicebustrigger",
                "servicebus"
            ]
        },
        {
            "name": "SignalR",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.SignalRService, Version=1.6.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
            "bindings": [
                "signalr",
                "signalrconnectioninfo",
                "signalrtrigger",
                "signalrendpoints",
                "signalrnegotiation"
            ]
        },
        {
            "name": "AzureStorageBlobs",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageBlobsWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage.Blobs, Version=5.0.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8",
            "bindings": [
                "blobtrigger",
                "blob"
            ]
        },
        {
            "name": "AzureStorageQueues",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageQueuesWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage.Queues, Version=5.0.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8",
            "bindings": [
                "queue",
                "queuetrigger"
            ]
        },
        {
            "name": "Twilio",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.Twilio.TwilioWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Twilio, Version=3.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
            "bindings": [
                "twiliosms"
            ]
        },
        {
            "name": "RabbitMQ",
            "typeName": "Microsoft.Azure.WebJobs.Extensions.RabbitMQ.RabbitMQWebJobsStartup, WebJobs.Extensions.RabbitMQ, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null",
            "bindings": [
                "rabbitmqtrigger",
                "rabbitmq"
            ]
        }
    ]
}

Extensions no longer registered?

This seems to have happened very recently (past 24 hours?) where when I ran my azure function I get errors that various functions will not run because 'the binding type(s) xxx are not registered'.

SignalR, serviceBusTrigger and signalRConnectionINfo are all not working for me due to this error.

I cehcekd my logs and reverted to a version from yesterday that was working and still no luck making me believe something has changed in the extension installer.

List extension versions in each release

I think it would be useful to include what versions of the extensions are in each bundles release. Maybe we can just include a link to the tagged version of the extension.json file in the release notes.

As we ship v2, we'll want to have one place where we can see what are the latest v1 and v2 bundle versions, as well as the extensions that are in them. I'd like to update this page in docs with information about how to switch between bundle versions and then link to the latest versions. Not sure where this information could live. Could be in docs, or a readme or wiki in this repo.

@soninaren @sidkri What do you think?

Update repo to generate v4 bundle package

  • Create v4.x banch

  • Update bundleConfig.json

    • Update bundle id and version
  • Verify the referenced NuGet packages in extensions.json along with the binding names

  • Set up templates repo to generate templates for bundle v4.x

    • Create bundle v4 nuspec file

Add new Durable backends to extension bundles V3

Just creating this ticket to help track this work item.

There's already a PR to kickstart this effort here: #121

After merging it, we should start a preview release of bundles with these backends in them, as that would facilitate testing on our end.

EventHub trigger compilations errors for ExntesionBundle 3.2.1

test.zip

The test project works fine with:

  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[2.*, 3.0.0)"
  }

But fails for:
test.zip

  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.*, 4.0.0)"
  }

[2021-03-20T00:29:42.383Z] run.csx(1,2): error CS0006: Metadata file 'Microsoft.Azure.EventHubs' could not be found
[2021-03-20T00:29:42.387Z] run.csx(6,23): error CS0234: The type or namespace name 'EventHubs' does not exist in the namespace 'Microsoft.Azure' (are you missing an assembly reference?)

To add a test in bundles pipeline that extensions do not implement FunctionsStartup

We are seeing some issues in Functions (for ex - Link) if an extension implements FunctionsStartup instead of IWebJobsStartup. We already updated code of few extensions to fix it - link.

It will be helpful if we can have a test in bundles pipeline to validate if an extension implements FunctionsStartup (either explicitly or by deriving from FunctionsStartup) so that customer apps do not break when a new bundle is released.

cc @fabiocav

Remove netcoreapp2.2 TFM from V4 bundle preview

We should no longer include this target in future versions of the bundle. Our only opportunity to change supported targets is on a major version.

Arguably, V4 should also remove the netcoreapp3.1 based on the support lifetime of that TFM, too. But we may want to split that to a separate conversation to define what the targets should be for V4. Timing may also be a factor there.

ERROR: `Value cannot be null. (Parameter 'provider')`

I've been working daily with Azure Python Functions. For some reason I'm getting the follow error tonight:

(.venv) PS E:\dataDocuments\python\async_dev> func start
Found Python version 3.9.5 (python).

Azure Functions Core Tools
Core Tools Version:       4.0.4785 Commit hash: N/A  (64-bit)
Function Runtime Version: 4.10.4.19213

[2022-10-07T04:44:16.391Z] Referenced bundle Microsoft.Azure.Functions.ExtensionBundle of version 1.8.1 does not meet the required minimum version of 2.6.1. Update your extension bundle reference in host.json to reference 2.6.1 or later.
[2022-10-07T04:44:16.399Z] A host error has occurred during startup operation 'e7cd7951-4085-4365-ac16-43b8c531e64c'.
[2022-10-07T04:44:16.400Z] Microsoft.Azure.WebJobs.Script: Referenced bundle Microsoft.Azure.Functions.ExtensionBundle of version 1.8.1 does not meet the required minimum version of 2.6.1. Update your extension bundle reference in host.json to reference 2.6.1 or later. For 
more information see https://aka.ms/func-min-bundle-versions.
Value cannot be null. (Parameter 'provider')

Tried:

  • Adding the following extensionBundle: Didn't work
"extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[2.8.4, 3.0.0)"
  }
  • Updating Azure Function Core Tools: Didn't work
    image

How do I troubleshoot this?

Error fetching version information

Using v3.x as prescribed in our host.json

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.*, 4.0.0)"
    }
}

with azure-functions-core-tools 4.0.4829, we see the following errors:

Error fetching version information for extension bundle Microsoft.Azure.Functions.ExtensionBundle

Unable to find or download extension bundle

The '<function name>' function is in error: The binding type(s) 'queue' were not found in the configured extension bundle. Please ensure the type is correct and the correct version of extension bundle is configured.

We are therefore unable to work with queues locally, which our app needs to work properly.

We are running on Node.js 16 with func start and a few common options (--port, --script-root, --javascript).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.