Azure Functions をパッケージ ファイルから実行するRun your Azure Functions from a package file

注意

この記事で説明されている機能はLinux 上の Functions ではご利用いただけません。The functionality described in this article is not available for Functions on Linux.

Azure では、関数アプリのデプロイ パッケージ ファイルから、関数を直接実行できます。In Azure, you can run your functions directly from a deployment package file in your function app. 他のオプションは、関数アプリの d:\home\site\wwwroot ディレクトリ内のファイルをデプロイすることです。The other option is to deploy your files in the d:\home\site\wwwroot directory of your function app.

この記事では、パッケージから関数を実行するメリットについて説明します。This article describes the benefits of running your functions from a package. 関数アプリでこの機能を有効にする方法も示します。It also shows how to enable this functionality in your function app.

パッケージ ファイルから実行することのメリットBenefits of running from a package file

パッケージ ファイルからの実行には、さまざまなメリットがあります。There are several benefits to running from a package file:

  • ファイル コピー ロック問題のリスクを軽減します。Reduces the risk of file copy locking issues.
  • 運用環境のアプリにデプロイできます (再起動が必要です)。Can be deployed to a production app (with restart).
  • アプリで実行されるファイルを確定できます。You can be certain of the files that are running in your app.
  • Azure Resource Manager デプロイのパフォーマンスが向上します。Improves the performance of Azure Resource Manager deployments.
  • 特に大規模な npm パッケージのツリーの JavaScript 関数の場合、コールド スタート時間を減らすことができます。May reduce cold-start times, particularly for JavaScript functions with large npm package trees.

詳細については、こちらのお知らせをご覧ください。For more information, see this announcement.

パッケージから関数を実行できるようにするEnabling functions to run from a package

関数アプリをパッケージから実行できるようにするには、WEBSITE_RUN_FROM_PACKAGE 設定を関数アプリの設定に追加するだけです。To enable your function app to run from a package, you just add a WEBSITE_RUN_FROM_PACKAGE setting to your function app settings. WEBSITE_RUN_FROM_PACKAGE 設定には次のいずれかの値を指定できます。The WEBSITE_RUN_FROM_PACKAGE setting can have one of the following values:

Value 説明Description
<url> 実行する特定のパッケージ ファイルの場所。Location of a specific package file you want to run. Blob Storage を使用する場合は、Shared Access Signature (SAS) 付きのプライベート コンテナーを使用して、Functions ランタイムがパッケージにアクセスできるようにする必要があります。When using Blob storage, you should use a private container with a Shared Access Signature (SAS) to enable the Functions runtime to access to the package. Azure Storage Explorer を使用して、パッケージ ファイルを Blob Storage アカウントにアップロードします。You can use the Azure Storage Explorer to upload package files to your Blob storage account.
1 関数アプリの d:\home\data\SitePackages フォルダー内のパッケージ ファイルから実行します。Run from a package file in the d:\home\data\SitePackages folder of your function app. このオプションでは、そのフォルダーに packagename.txt という名前のファイルも含まれている必要があります。This option requires the folder to also have a file named packagename.txt. このファイルには、フォルダー内のパッケージ ファイルの空白なしの名前のみが含まれます。This file contains only the name of the package file in folder, without any whitespace.

Azure Blob torage でホストされている .zip ファイルから実行するように構成された関数アプリを次に示します。The following shows a function app configured to run from a .zip file hosted in Azure Blob storage:

WEBSITE_RUN_FROM_ZIP アプリの設定

注意

現時点では、.zip パッケージ ファイルのみがサポートされています。Currently, only .zip package files are supported.

zip デプロイとの統合Integration with zip deployment

Zip デプロイは、関数アプリ プロジェクトを wwwroot ディレクトリに配置することを可能にする Azure App Service の機能です。Zip deployment is a feature of Azure App Service that lets you deploy your function app project to the wwwroot directory. プロジェクトは、.zip デプロイ ファイルとしてパッケージ化されます。The project is packaged as a .zip deployment file. 同じ API を使用して、パッケージを d:\home\data\SitePackages フォルダーに配置できます。The same APIs can be used to deploy your package to the d:\home\data\SitePackages folder. WEBSITE_RUN_FROM_PACKAGE アプリ設定が値 1 の場合、zip デプロイ API は、ファイルを d:\home\site\wwwroot 抽出する代わりに、パッケージを d:\home\data\SitePackages フォルダーにコピーします。With the WEBSITE_RUN_FROM_PACKAGE app setting value of 1, the zip deployment APIs copy your package to the d:\home\data\SitePackages folder instead of extracting the files to d:\home\site\wwwroot. それは、packagename.txt ファイルも作成します。It also creates the packagename.txt file. 再起動後に関数アプリがパッケージから実行され、wwwroot が読み取り専用になります。The function app is then run from the package after a restart, and wwwroot becomes read-only. zip デプロイの詳細については、Azure Functions の zip デプロイに関する記事を参照してください。For more information about zip deployment, see Zip deployment for Azure Functions.

WEBSITE_RUN_FROM_PACKAGE 設定の追加Adding the WEBSITE_RUN_FROM_PACKAGE setting

関数アプリの設定は、いくつかの方法で追加、更新、削除できます。There are several ways that you can add, update, and delete function app settings:

次の手順Next steps