-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Azure Functions Runtime 2.0.12050-alpha breaking changes notice #129
Comments
Starting with this release, a Function App can only have functions of a selected language. Please see above for more details on how to select a language for your Function App. |
Added additional information about host.json above:
|
Deployment of Azure Functions Runtime 2.0.12050-alpha has started and NuGet packages have been published. Further updates to tooling (VS, VS Code, Core Tools, etc) are forthcoming. |
The update is now available for VS users. A small delay has prevented the update propagating to NPM, we expect to have more news on this tomorrow (8/31). |
Added note about simplified WebHook URLs. |
Azure Function Core Tools (2.0.1-beta.37) has been published to npm. Run this command to install the latest version of core tools:
|
Deployment of Azure Functions Runtime 2.0.12050-alpha has started. This release has significant breaking changes so please read the details below.
Please use Azure/app-service-announcements-discussions#64 for discussions related to this release.
TL;DR
If you are running on the Azure Functions 2.0 preview and don't want your app to break, you need to pin your Function App by following the instructions in the What can I do to avoid being impacted? section at the bottom of this announcement.
What is changing?
Extension model updates
Changes in bindings and extension model will impact your app:
Configuration settings changes
As part of configuration enhancements made to the runtime to allow for more flexibility, configuration settings names and the structure of
host.json
has changed. The"version": "2.0"
setting is now required inhost.json
. If there are no current settings in the file, the host will automatically add this value. Otherwise, an exception will be thrown directing you to http://aka.ms/functions-hostjson. This page has information detailing the changes. Once the settings are updated and"version": "2.0"
is added, the host will automatically restart and pick up the new configuration values.Function App secrets storage change
Function App secrets (function, system and master keys) will be stored in blob storage by default.
Previously they were stored in the file system and we are automatically migrating them to blob storage as part of this change, so keys should not change, but if you relied on direct file access or SCM APIs to manage those secrets, that will no longer work.
Single language functions in a Function App
Function App can only have functions of a selected language.
Previously a function app could have more than one language functions. We will now start enforcing a single language per app.
What do I need to do?
Choose a language for your Function App
Select a language: by adding an App setting named FUNCTIONS_WORKER_RUNTIME
Update host.json
Update your host.json file according to the updated schema located here.
Update your dependencies, extensions and/or code
Local Development
If your function app is C#/F# based and developed locally (not through the portal) you'll need to update your NuGet reference for
Microsoft.NET.Sdk.Functions
to version1.0.19
. This will bring in other necessary updates such as moving toMicrosoft.Azure.WebJobs 3.0.0-beta8
. You'll also need to look for updates for any of the extensions that you're app is using. For the expected versions see the table below. After performing these updates you'll need to recompile, test locally (VS and VS Code should have already pulled the update) and publish your application.If your function app is written in Java or JavaScript (developed locally) you can take advantage of the
func extensions install
command that is part of the Core Tools to get the necessary extension update. This is discussed in more detail here.Portal Development
Follow the instructions to update the extensions installed through portal
Extension Versions
Read the Durable Functions release notes
If you use Durable Functions, read the release notes for the 1.6.0 release here.
Reference the Storage Extension where appropriate
If you have functions that work with Azure Storage (queue/tables/blob) either with triggers, input bindings or output bindings, you'll need to reference the new
Microsoft.Azure.WebJobs.Extensions.Storage
extension.Simplified WebHook URLs
WebHook URLs (like those used for EventGrid and Microsoft Graph) have been simplified.
https://myapp.azurewebsites.net/runtime/webhooks/EventGridExtensionConfig
is nowhttps://myapp.azurewebsites.net/runtime/webhooks/eventgrid
I'm getting errors I dont understand, help!
There is a list of error messages with tips on how to resolve here.
What can I do to avoid being impacted?
To temporarily avoid impact, you can pin your Function App to the previous version of the runtime by updating the app setting
FUNCTIONS_EXTENSION_VERSION
to2.0.11961-alpha
. Your app will continue to work as it was previously and will give you time to test your code with the new version, which we recommend you do in a different Function App.Version 2.0.11961-alpha will be available until the end of September 2018.
To pin your Azure Functions on Linux app, please update your image using the following mapping:
Using pinned version of core tools with Visual Studio
Visual studio keeps the core tools updated and in-sync with runtime version in Azure. You can override the default version of core tools launched by visual studio by performing the steps below.
https://functionscdn.azureedge.net/public/2.0.1-beta.35/Azure.Functions.Cli.win-x86.2.0.1-beta.35.zip
<Path_Where_Zip_File_Was_Extracted>\func.exe
host start
One thing to note:
Publishing from Visual Studio to a pinned Function App
Go to tools -> Extensions and Updates -> Updates -> Azure Functions and Web Jobs Tools (15.10.2009.0)->update.
<DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate>
to the PropertyGroup. This will prevent Visual Studio from updating theFUNCTIONS_EXTENSION_VERSION
app setting in Azure when publishing from VS.The text was updated successfully, but these errors were encountered: