Azure Functions ランタイム バージョンをターゲットにする方法How to target Azure Functions runtime versions

関数アプリは、Azure Functions ランタイムの特定のバージョンで実行されます。A function app runs on a specific version of the Azure Functions runtime. メジャー バージョンには、次の 2 つがあります:1.x と 2.xThere are two major versions: 1.x and 2.x. 既定では、作成される関数アプリはバージョン 2.x のランタイムです。By default, function apps that are created version 2.x of the runtime. この記事では、選択したバージョンで実行されるように Azure の関数アプリを構成する方法について説明します。This article explains how to configure a function app in Azure to run on the version you choose. 特定のバージョン用にローカル開発環境を構成する方法については、「Azure Functions をローカルでコーディングしてテストする」を参照してください。For information about how to configure a local development environment for a specific version, see Code and test Azure Functions locally.

注意

1 つまたは複数の関数のある関数アプリのランタイム バージョンを変更することはできません。You can't change the runtime version for a function app that has one or more functions. ランタイム バージョンを変更するには、Azure portal を使用する必要があります。You should use the Azure portal to change the runtime version.

自動および手動でのバージョンの更新Automatic and manual version updates

Functions を使用すると、関数アプリ内で FUNCTIONS_EXTENSION_VERSION アプリケーション設定を使用して、ランタイムの特定のバージョンをターゲットにすることができます。Functions lets you target a specific version of the runtime by using the FUNCTIONS_EXTENSION_VERSION application setting in a function app. 関数アプリは、新しいバージョンへの移行を明示的に選択しない限り、指定されたメジャー バージョンに保持されます。The function app is kept on the specified major version until you explicitly choose to move to a new version.

メジャー バージョン (2.x の場合は "~2"、1.x の場合は "~1") のみを指定した場合、関数アプリは、ランタイムの新しいマイナー バージョンが利用可能になった時点で、自動的に新しいマイナー バージョンに更新されます。If you specify only the major version ("~2" for 2.x or "~1" for 1.x), the function app is automatically updated to new minor versions of the runtime when they become available. 新しいマイナー バージョンには、重大な変更は導入されません。New minor versions do not introduce breaking changes. マイナー バージョン (たとえば "2.0.12345") を指定した場合、関数アプリは、明示的にバージョンを変更するまで、その特定のバージョンに固定されます。If you specify a minor version (for example, "2.0.12345"), the function app is pinned to that specific version until you explicitly change it.

新しいバージョンが公開されると、ポータルで確認のメッセージが表示され、そのバージョンに移行することができます。When a new version is publicly available, a prompt in the portal gives you the chance to move up to that version. 新しいバージョンに移行した後は、FUNCTIONS_EXTENSION_VERSION アプリケーション設定を使用して、いつでも以前のバージョンに戻すことができます。After moving to a new version, you can always use the FUNCTIONS_EXTENSION_VERSION application setting to move back to a previous version.

ランタイム バージョンを変更するたびに、関数アプリが再起動されます。A change to the runtime version causes a function app to restart.

自動更新を有効にするために FUNCTIONS_EXTENSION_VERSION アプリ設定で設定できる値は、現在、1.x ランタイムでは "~1"、2.x では "~2" です。The values you can set in the FUNCTIONS_EXTENSION_VERSION app setting to enable automatic updates are currently "~1" for the 1.x runtime and "~2" for 2.x.

現在のランタイム バージョンの表示と更新View and update the current runtime version

関数アプリによって使用されるランタイム バージョンを変更できます。You can change the runtime version used by you function app. 破壊的変更の可能性があるため、ランタイム バージョンの変更は、関数アプリで関数を作成する前にのみ行うようにする必要があります。Because of the potential of breaking changes, you should only change the runtime version before you have created any functions in your function app. ランタイム バージョンは FUNCTIONS_EXTENSION_VERSION の設定によって決定されますが、この変更はその設定の直接の変更によってではなく、Azure Portal で行う必要があります。Although the runtime version is determined by the FUNCTIONS_EXTENSION_VERSION setting, you should make this change in the Azure portal and not by changing the setting directly. これは、ポータルが変更を検証し、必要に応じてその他の関連する変更を行うためです。This is because the portal validates your changes and makes other related changes as needed.

Azure portal からFrom the Azure portal

関数アプリで現在使用されているランタイム バージョンを表示して更新するには、次の手順に従います。Use the following procedure to view and update the runtime version currently used by a function app.

  1. Azure portal で、関数アプリに移動します。In the Azure portal, browse to your function app.

  2. [構成済みの機能] で、 [Function App の設定] を選択します。Under Configured Features, choose Function app settings.

    [Function App の設定] を選択する

  3. [Function App の設定] タブで、 [ランタイム バージョン] を探します。In the Function app settings tab, locate the Runtime version. 特定のランタイム バージョンと要求されたメジャー バージョンをメモします。Note the specific runtime version and the requested major version. 以下の例では、バージョンが ~2 に設定されています。In the example below, the version is set to ~2.

    [Function App の設定] を選択する

  4. バージョン 1.x ランタイムに関数アプリを固定するには、 [ランタイム バージョン][~1] を選択します。To pin your function app to the version 1.x runtime, choose ~1 under Runtime version. アプリに関数がある場合、このスイッチは無効です。This switch is disabled when you have functions in your app.

  5. ランタイム バージョンを変更したときは、 [概要] タブに戻り、 [再起動] を選択してアプリを再起動します。When you change the runtime version, go back to the Overview tab and choose Restart to restart the app. 関数アプリがバージョン 1.x ランタイムでの実行を再開します。関数を作成するときは、バージョン 1.x のテンプレートを使用します。The function app restarts running on the version 1.x runtime, and the version 1.x templates are used when you create functions.

Azure CLI からFrom the Azure CLI

Azure CLI から FUNCTIONS_EXTENSION_VERSION を表示および設定することもできます。You can also view and set the FUNCTIONS_EXTENSION_VERSION from the Azure CLI.

注意

その他の設定はランタイム バージョンの影響を受ける可能性があるため、ポータルでバージョンを変更する必要があります。Because other settings may be impacted by the runtime version, you should change the version in the portal. ランタイム バージョンを変更すると、ポータルで自動的に、Node.js のバージョンやランタイム スタックなどのその他の必要な更新が行われます。The portal automatically makes the other needed updates, such as Node.js version and runtime stack, when you change runtime versions.

Azure CLI を使用して、az functionapp config appsettings set コマンドで現在のランタイム バージョンを表示します。Using the Azure CLI, view the current runtime version with the az functionapp config appsettings set command.

az functionapp config appsettings list --name <function_app> \
--resource-group <my_resource_group>

このコードでは、<function_app> をお使いの関数アプリの名前に置き換えます。In this code, replace <function_app> with the name of your function app. また、<my_resource_group> をお使いの関数アプリのリソース グループの名前に置き換えます。Also replace <my_resource_group> with the name of the resource group for your function app.

明確にするために切り捨てられていますが、次の出力に FUNCTIONS_EXTENSION_VERSION が表示されます。You see the FUNCTIONS_EXTENSION_VERSION in the following output, which has been truncated for clarity:

[
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "slotSetting": false,
    "value": "~2"
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "slotSetting": false,
    "value": "dotnet"
  },
  
  ...
  
  {
    "name": "WEBSITE_NODE_DEFAULT_VERSION",
    "slotSetting": false,
    "value": "8.11.1"
  }
]

az functionapp config appsettings set コマンドで、関数アプリの FUNCTIONS_EXTENSION_VERSION の設定を更新できます。You can update the FUNCTIONS_EXTENSION_VERSION setting in the function app with the az functionapp config appsettings set command.

az functionapp config appsettings set --name <function_app> \
--resource-group <my_resource_group> \
--settings FUNCTIONS_EXTENSION_VERSION=<version>

<function_app> をお使いの関数アプリの名前に置き換えます。Replace <function_app> with the name of your function app. また、<my_resource_group> をお使いの関数アプリのリソース グループの名前に置き換えます。Also replace <my_resource_group> with the name of the resource group for your function app. また、<version> を 1.x ランタイムの有効なバージョンまたはバージョン 2.x の ~2 に置き換えます。Also, replace <version> with a valid version of the 1.x runtime or ~2 for version 2.x.

このコマンドは、上記のコード サンプルの [テスト] をクリックすることで、Azure Cloud Shell から実行できます。You can run this command from the Azure Cloud Shell by choosing Try it in the preceding code sample. また、Azure CLI をローカルに使用して、az ログインを実行してサインインした後に、このコマンドを実行することもできます。You can also use the Azure CLI locally to execute this command after executing az login to sign in.

次の手順Next steps