-
Notifications
You must be signed in to change notification settings - Fork 441
Deploying the Functions runtime as a private site extension
Lilian Kasem edited this page Jun 9, 2022
·
24 revisions
⚠️ If you're on the Azure Functions team, please to refer to these docs
If you already have a Function App, you can use the following steps to deploy your own Functions runtime as a private site extension. Note: these steps only work on Functions Apps on a regular App Service Plan and not on Function Apps on a Consumption Plan.
- First you need a Functions.Private.zip site extension package in the proper format
- you can get one from the release assets of the specific version on github, e.g. https://github.com/Azure/azure-functions-host/releases/tag/v3.0.14916 and
Functions.Private.3.0.14916.win-x32.inproc.zip
is the specific asset in this case. - or you can build the private package yourself:
-
V1:
- In VS, right click the WebJobs.Script.WebHost project and choose Publish
- Select the existing FolderProfile profile and click Publish. This will create the bits under
.\src\WebJobs.Script.WebHost\bin\Release\SiteExtensions
- Zip up the SiteExtensions folder to produce a Functions.Private.zip file (Right-click > Send to Zip on the SiteExtensions folder - you can double check it looks like the zip from AppVeyor if you're unsure)
-
V2:
- From root, run build.ps1
- Use
./buildoutput/Functions.Private.2.0.0-prerelease.no-runtime.zip
- Note: if you're a functions team member, you probably want to use the
win-x32.inproc
build. See the internal instructions for private site extensions for more details on using that.
-
V3:
- From root, run build/build-extensions.ps1
- Use
./buildoutput/Functions.Private.2.0.0-prerelease.no-runtime.zip
- Note: if you're a functions team member, you probably want to use the
win-x32.inproc
build. See the internal instructions for private site extensions for more details on using that.
-
V1:
- you can get one from the release assets of the specific version on github, e.g. https://github.com/Azure/azure-functions-host/releases/tag/v3.0.14916 and
- Go to the Kudu Console for the Function App that you want to use your bits on. Make sure you use a Function App on a regular App Service Plan (i.e. not Consumption), or it will not work. (You can determine this by looking at the WEBSITE_SKU environment variable in kudu. It should be "standard", not "dynamic".)
- Drag and drop the
Functions.Private.zip
into the root of your Kudu Console. i.e. this should created:\home\SiteExtensions\Functions
- Access the file root from Debug Console -> (CMD or PowerShell) and drag the zip file into the right-hand side of the file list (there will be a hover indicating you're in the right place)
- In the Functions Portal, restart the Function App so that it picks up the new version
- To verify that you are running the runtime version you expect, browse to the host status endpoint at
https://<functionappname>.azurewebsites.net/admin/host/status?code=<masterkey>
and check the version returned. You can get the master key from the Azure Functions Portal, under the "Manage" tab of any function.
You are now using your private Functions runtime.
- Configuration Settings
- function.json
- host.json
- host.json (v2)
- Http Functions
- Function Runtime Versioning
- Official Functions developers guide
- Host Health Monitor
- Managing Connections
- Renaming a Function
- Retrieving information about the currently running function
- Site Extension Resolution
- Linux Consumption Regions
- Using LinuxFxVersion for Linux Function apps
- Out-of-proc Cancellation Tokens
- Assembly Resolution in Azure Functions
- ILogger
- Precompiled functions
- Official Functions C# developer reference
- Contributor Onboarding
- Development Process
- Deploying the Functions runtime as a private site extension
- Authoring & Testing Language Extensions
- Bindings in out-of-proc
- Language Extensibility
- Worker Capabilities
- Investigating and reporting issues with timer triggered functions not firing
- Sharing Your Function App name privately
- Azure Functions CLI release notes [moved here]
- Function App Zipped Deployment [deprecated]