How to best deploy a custom service provider-based connector
I'm working on a custom service provider-based built-in connector for Azure Logic Apps Standard, called LogicApps.ServiceProviders.ApplicationInsights.TrackAvailability
. (It's not available as a NuGet package yet, but you can locally build the class library. Instructions are in the readme.)
The connector works as expected, but I’ve run into an issue with deployment size. After integrating it into my Logic App Standard project, the deployment package size jumped from just a few KB to over 300 MB. This seems to be caused by a reference to the Microsoft.Azure.Workflows.WebJobs.Extension
NuGet package.
What I've done so far
To build the connector, I followed these resources:
- Custom connectors in Azure Logic Apps
- Create custom built-in connectors for Standard logic apps in single-tenant Azure Logic Apps
- Sample custom built-in Azure Cosmos DB connector
According to the Install your connector instructions, you need to convert your Logic App workflow project to a NuGet package-based project. This results in a .csproj
that includes a reference to Microsoft.Azure.Workflows.WebJobs.Extension
, which is also needed in the custom connector project.
After converting the project, I added my custom connector as a NuGet package reference. I also removed the extension bundle configuration from the host.json
file, as this seems to be required for using custom built-in connectors in Logic App Standard projects.
The problem
Adding Microsoft.Azure.Workflows.WebJobs.Extension
to both the Logic App project and the custom connector class library significantly increases the deployment size. I'd like to know:
Is there a way to reduce the deployment size when using a custom built-in connector in Logic Apps Standard? Preferably, I would only need to deploy my own NuGet package containing the custom connector, without the additional overhead.
I'm open to changes in how I package or reference dependencies. Any guidance or best practices would be much appreciated. Preferably, I would only need to deploy my own NuGet package containing the custom connector, without the additional overhead.
Thanks in advance!