-
Notifications
You must be signed in to change notification settings - Fork 450
Deploying the Functions runtime as a private site extension
Marie Hoeger edited this page Oct 23, 2018
·
24 revisions
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 our CI machine output for a particular build, e.g. https://ci.appveyor.com/project/appsvc/azure-webjobs-sdk-script-y8o14/build/1.0.10650/artifacts
- 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.win-x32.inproc.zip
-
V1:
- 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". The functions.azure.com portal creates dynamic skus. You can create a standard sku via the Ibiza portal)
- Drag and drop the Functions.Private.zip into the root of your Kudu Console. i.e. this should create
d:\home\SiteExtensions\Functions
- 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]