Ping a specific public bundle in Logic App Standard
Background
Sometimes, we need to use same Logic App Standard bundle across different environments to make sure the workflows have same behaviors.
For example, we have DEV, UAT and PROD environment and would like to keep the PROD environment always to use the same bundle during the development. With default configurations (AzureFunctionsJobHost__extensionBundle__version = [1.*, 2.0.0) ), the backend will always upgrade to last bundle version which might cause unexpected behaviors across environments.
In order to avoid this kind of issues, we can ping a specific public bundle for all the environments to maintain same behavior.
Consideration
Normally, we only need to modify AzureFunctionsJobHost__extensionBundle__version in environment variables to fallback to previous bundle version. But it is not a long-term resolution since old bundles might be removed from backend instances.
So the following instruction introduce how to configure a public bundle as a special version for long-term usage.
Configuration Steps
1. All the installed bundles can be found in Kudu: C:Program Files (x86)FuncExtensionBundlesMicrosoft.Azure.Functions.ExtensionBundle.Workflows, we can check in workflow overview page for current using bundle version in lower environment (eg: dev, UAT) and download the specific bundle.
2. Once we have the bundle files, it will be better to use a special version number, for example 1.99.99, so we need to modify the version number in bundle.json (root folder of downloaded files).
The sample content is following:
{“id”:”Microsoft.Azure.Functions.ExtensionBundle.Workflows”,”version”:”1.99.99“}
After the modification, compress all files as zip and be aware of that we don’t need root folder in zip.
3. To ping the bundle, we need to upload modified zip file into Logic App Standard file share (home), if you don’t use private bundle before, you need to create path in Kudu like following: homedataFunctionsExtensionBundlesMicrosoft.Azure.Functions.ExtensionBundle.Workflows[version number (for example 1.99.99)].
Then drag and drop zip in Kudu, it will auto-unzip the file and upload to the folder which normally need to take ~10 minutes.
The folder structure should be like following after uploading:
4. Change AzureFunctionsJobHost__extensionBundle__version in Environment Variables from [1.*, 2.0.0) to the version you specified, rg: [1.99.99]. Once you apply the changes, Logic App Standard will restart itself, once runtime rebooted, we can open any workflows to verify the bundle version (sometimes, a force refresh required to clear cache via using Ctrl + F5).
Microsoft Tech Community – Latest Blogs –Read More