次の方法で共有


Azure Functions のアプリケーション設定のリファレンス

関数アプリのアプリケーション設定には、その関数アプリのすべての関数に影響する構成オプションが含まれています。 これらの設定は、環境変数としてアクセスされます。 この記事では、関数アプリで使用できるアプリケーション設定の一覧を紹介します。

関数アプリの設定は、いくつかの方法で追加、更新、削除できます。

関数アプリの設定に変更を加えるためには、関数アプリを再起動する必要があります。

この記事の例で、接続文字列の値は、読みやすくするために切り詰められています。

Azure Functions では、ホスティングに Azure App Service プラットフォームが使用されます。 Azure App Service の環境変数とアプリ設定で関数アプリをホストする際に関連するいくつかの設定が見つかる場合があります。

アプリ設定に関する考慮事項

アプリ設定を使用する場合は、次の考慮事項に注意する必要があります。

  • 関数アプリの設定に変更を加えるためには、関数アプリを再起動する必要があります。

  • 設定名では、二重アンダースコア (__) とコロン (:) は予約値と見なされます。 二重アンダースコアは、Windows と Linux の両方で階層区切り記号として解釈されます。 コロンは、Windows でのみ同じ方法で解釈されます。 たとえば、設定 AzureFunctionsWebHost__hostid=somehost_123456 は次の JSON オブジェクトとして解釈されます。

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

    この記事では、両方のオペレーティング システムでサポートされているため、二重アンダースコアのみを使用します。 マネージド ID 接続をサポートする設定のほとんどでは、二重アンダースコアを使用します。

  • When functions runs locally, app settings are specified in the Values collection in the local.settings.json.

  • There are other function app configuration options in the host.json file and in the local.settings.json file.

  • アプリケーション設定を使用して、host.json ファイル自体を変更することなく、host.json 設定値をオーバーライドできます。 この方法は、特定の環境の特定の host.json 設定を構成または変更する必要があるシナリオに役立ちます。 この方法では、プロジェクトを再発行することなく host.json 設定を変更することもできます。 詳細については、host.json のリファレンスに関する記事をご覧ください。

  • この記事では、関数アプリに最も関連した設定について説明します。 Azure Functions は App Service 上で実行されるため、その他のアプリケーション設定もサポートされます。 詳細については、「Azure App Service の環境変数とアプリ設定」を参照してください。

  • また、一部のシナリオでは、「App Service サイトの設定」で説明されている設定も操作する必要があります。

  • Changing any read-onlyApp Service application settings can put your function app into an unresponsive state.

  • ARM テンプレートを含め、REST API を使用してアプリケーション設定を更新するときは、注意深く行ってください。 これらの API は既存のアプリケーション設定を置き換えるので、REST API または ARM テンプレートを使用して設定を追加または変更するときには、既存のすべての設定を含める必要があります。 可能であれば、Azure CLI または Azure PowerShell を使用して、アプリケーション設定をプログラムで操作します。 詳細については、「アプリケーション設定を操作する」を参照してください。

APPINSIGHTS_INSTRUMENTATIONKEY

Application Insights のインストルメンテーション キー。 APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING の両方を使用することはできません。 可能な場合は、APPLICATIONINSIGHTS_CONNECTION_STRING を使用します。 Application Insights がソブリン クラウドで実行されている場合は、APPLICATIONINSIGHTS_CONNECTION_STRING を使用する必要があります。 詳細については、Azure Functions で監視を構成する方法に関するページを参照してください。

Key Sample value
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING の両方を使用することはできません。 APPLICATIONINSIGHTS_CONNECTION_STRINGを使用することをお勧めします。

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Microsoft Entra 認証を使用して Application Insights へのアクセスを有効にします。 Microsoft Entra 認証を使用して Application Insights ワークスペースに接続する必要がある場合は、この設定を使用します。 詳細については、「Application Insights 用 Microsoft Entra 認証」を参照してください。

APPLICATIONINSIGHTS_AUTHENTICATION_STRING を使用する場合、設定する具体的な値はマネージド ID の種類によって異なります。

Managed identity Setting value
System-assigned Authorization=AAD
User-assigned Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

この認証要件は、Functions ホスト、スナップショット デバッガー、プロファイラー、言語固有のエージェントからの接続に適用されます。 この設定を使用するには、マネージド ID が関数アプリで既に使用可能であり、Monitoring Metrics Publisher と同等のロールが割り当てられている必要があります。

Note

APPLICATIONINSIGHTS_AUTHENTICATION_STRING を使用して Microsoft Entra 認証を使って Application Insights に接続する場合は、Application Insights のローカル認証も無効にする必要があります。 この構成で、テレメトリがワークスペースに取り込まれるようにするには、Microsoft Entra 認証が必要です。

APPLICATIONINSIGHTS_CONNECTION_STRING

Application Insights の接続文字列。 APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING の両方を使用することはできません。 すべてのケースで APPLICATIONINSIGHTS_CONNECTION_STRING を使用することをお勧めします。 これは、次の場合の要件です。

  • お使いの関数アプリで接続文字列を使用した追加のカスタマイズ サポートが必要な場合
  • カスタム エンドポイントを必要とするソブリン クラウドで Application Insights インスタンスが実行されている場合

For more information, see Connection strings.

Key Sample value
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

Microsoft Entra 認証を使用して Application Insights に接続するには、APPLICATIONINSIGHTS_AUTHENTICATION_STRING を使用する必要があります。

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Important

Azure Functions プロキシは、Azure Functions ランタイムのバージョン 1.x から 3.x 用のレガシ機能です。 For more information about legacy support in version 4.x, see Functions proxies.

既定では、Functions プロキシは、ショートカットを使用して、同じ関数アプリ内の関数にプロキシから直接 API 呼び出しを送信します。 このショートカットは、新しい HTTP 要求を作成する代わりに使用されます。 この設定を使用すると、そのショートカット動作を無効にすることができます。

Key Value Description
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true ローカル関数アプリの関数を指すバックエンド URL を使用した呼び出しは、関数に直接送信されません。 代わりに、要求は、関数アプリの HTTP フロントエンドに戻されます。
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false ローカル関数アプリ内の関数を指すバックエンド URL を使用した呼び出しは、その関数に直接転送されます。 既定値は false です。

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Important

Azure Functions プロキシは、Azure Functions ランタイムのバージョン 1.x から 3.x 用のレガシ機能です。 For more information about legacy support in version 4.x, see Functions proxies.

この設定は、文字 %2F がバックエンド URL に挿入されたときに、これをルート パラメーターでスラッシュとしてデコードするかどうかを制御します。

Key Value Description
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true エンコードされたスラッシュを含むルート パラメーターがデコードされます。
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false すべてのルート パラメーターは変更されずに渡されます。これは既定の動作です。

たとえば、myfunction.com ドメインの関数アプリ用の proxies.json ファイルを考えてみます。

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHEStrue に設定されている場合、URL example.com/api%2ftestexample.com/api/test に解決されます。 既定では、URL は example.com/test%2fapi のまま変更されません。 For more information, see Functions proxies.

AZURE_FUNCTIONS_ENVIRONMENT

Configures the runtime hosting environment of the function app when running in Azure. この値は初期化中に読み取られます。 ランタイムは、次の値のみを受け入れます。

Value Description
Production ログ記録と完全なパフォーマンスの最適化が削減された運用環境を表します。 この値は、 AZURE_FUNCTIONS_ENVIRONMENT が設定されていないか、サポートされていない値に設定されている場合の既定値です。
Staging Represents a staging environment, such as when running in a staging slot.
Development 開発環境では、より詳細なログやその他の低下したパフォーマンスの最適化がサポートされます。 Azure Functions Core Tools では、ローカル コンピューターでの実行時に AZURE_FUNCTIONS_ENVIRONMENTDevelopment に設定されます。 local.settings.json ファイルでは、この設定をオーバーライドできません。

Azure のランタイム環境を ASPNETCORE_ENVIRONMENT 以外のものに変更する必要がある場合は、Production の代わりにこの設定を使用します。 詳細については、環境別の起動のクラスとメソッドに関する記事を参照してください。

この設定は、Functions ランタイムのバージョン 1.x では使用できません。

AzureFunctionsJobHost__*

In version 2.x and later versions of the Functions runtime, application settings can override host.json settings in the current environment. これらのオーバーライドは、AzureFunctionsJobHost__path__to__setting という名前のアプリケーション設定として表されます。 詳細については、「host.json 値をオーバーライドする」を参照してください。

AzureFunctionsWebHost__hostid

特定の関数アプリのホスト ID を設定します。これは、一意の ID にする必要があります。 この設定は、自動的に生成された、アプリのホスト ID 値をオーバーライドします。 この設定は、同じストレージ アカウントを共有する関数アプリ間でホスト ID の競合を防ぐ必要がある場合にのみ使用します。

ホスト ID は次の要件を満たしている必要があります。

  • 1 から 32 文字であること
  • 小文字、数字、ダッシュのみを含む
  • 先頭または末尾がダッシュではないこと
  • 連続するダッシュを含まないこと

ID を生成する簡単な方法は、GUID を取得し、ダッシュを除外し、小文字化することです。たとえば、GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 を値 1835d7b55c984790815d072cc94c6f71 に変換します。

Key Sample value
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

詳細については、「ホスト ID に関する考慮事項」を参照してください。

AzureWebJobsDashboard

この設定は非推奨であり、Azure Functions ランタイムのバージョン 1.x で実行している場合にのみサポートされます。

Optional storage account connection string for storing logs and displaying them in the Monitor tab in the Azure portal. このストレージ アカウントは、blob、キュー、およびテーブルをサポートする汎用的なものである必要があります。 詳しくは、「ストレージ アカウントの要件」をご覧ください。

Key Sample value
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobsDisableHomepage

true を指定すると、関数アプリのルート URL 用に表示される既定のランディング ページが無効になります。 既定値は false です。

Key Sample value
AzureWebJobsDisableHomepage true

このアプリ設定を省略するか、false に設定した場合、URL <functionappname>.azurewebsites.net の応答に対し、次の例のようなものが表示されます。

Function App のランディング ページを示すスクリーンショット。

AzureWebJobsDotNetReleaseCompilation

true は、.NET コードをコンパイルするときに Release モードを使用することを意味します。 false は、デバッグ モードを使用します。 既定値は true です。

Key Sample value
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

有効にするベータ機能のコンマ区切りの一覧です。 これらのフラグで有効となるベータ機能は本番には適しませんが、公開前の実験的な使用には有効にすることができます。

Key Sample value
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

アプリに現在この設定がある場合は、コンマ区切りの一覧の末尾に新しいフラグを追加します。

現在サポートされている機能フラグ:

Flag value Description
EnableProxies Azure API Management への移行を計画している間、Functions ランタイムのバージョン 4.x でプロキシを再度有効にします。 詳細については、「Functions v4.x でプロキシを再度有効にする」を参照してください。
EnableAzureMonitorTimeIsoFormat 専用 (App Service) プランで実行されている Linux アプリの Azure Monitor ログで ISO 8601 時刻形式を有効にします。

AzureWebJobsKubernetesSecretName

キーを格納するために使用される Kubernetes Secrets リソースを示します。 Kubernetes での実行時にのみサポートされます。

Key Sample value
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Kubernetes Secrets リソースを使用する場合の考慮事項:

  • また、 AzureWebJobsSecretStorageTypekubernetes に設定する必要があります。 AzureWebJobsKubernetesSecretName が設定されていない場合、リポジトリは読み取り専用と見なされます。 この場合は、デプロイの前に値を生成する必要があります。
  • Kubernetes にデプロイすると、Azure Functions Core Tools によって値が自動的に生成されます。
  • Immutable secrets aren't supported and using them results in runtime errors.

詳細については、キー ストレージの管理に関するページを参照してください。

AzureWebJobsSecretStorageKeyVaultClientId

キーが格納されているコンテナーへのアクセスに使用するユーザー割り当てマネージド ID またはアプリ登録のクライアント ID。 この設定では、AzureWebJobsSecretStorageTypekeyvault に設定する必要があります。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。

Key Sample value
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

詳細については、キー ストレージの管理に関するページを参照してください。

AzureWebJobsSecretStorageKeyVaultClientSecret

キーが格納されているコンテナーへのアクセスに使用するユーザー割り当てマネージド ID またはアプリ登録のクライアント ID のシークレット。 この設定では、AzureWebJobsSecretStorageTypekeyvault に設定する必要があります。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。

Key Sample value
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

詳細については、キー ストレージの管理に関するページを参照してください。

AzureWebJobsSecretStorageKeyVaultName

この設定は非推奨であり、Azure Functions ランタイムのバージョン 3.x で実行している場合にのみ使用されていました。

キーを格納するために使用されるキー コンテナー インスタンスの名前。 この設定は、サポートされなくなった Functions ランタイムのバージョン 3.x でのみ使用されていました。 バージョン 4.x の場合は、代わりに AzureWebJobsSecretStorageKeyVaultUri を使用します。 この設定では、AzureWebJobsSecretStorageTypekeyvault に設定する必要があります。

コンテナーには、ホスティング リソースのシステム割り当てマネージド ID に対応するアクセス ポリシーが必要です。 アクセス ポリシーでは、GetSetListDelete というシークレットのアクセス許可を、その ID に付与することを必要としています。

関数がローカルで実行されると、開発者 ID が使用されます。 Settings must be in the local.settings.json file.

Key Sample value
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

詳細については、キー ストレージの管理に関するページを参照してください。

AzureWebJobsSecretStorageKeyVaultTenantId

キーが格納されているコンテナーへのアクセスに使用されるアプリ登録のテナント ID。 この設定では、AzureWebJobsSecretStorageTypekeyvault に設定する必要があります。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。 詳細については、キー ストレージの管理に関するページを参照してください。

Key Sample value
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

キーを格納するために使用されるキー コンテナー インスタンスのURI。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。 キー ストレージにキー コンテナー インスタンスを使用する場合は、この設定をお勧めします。 この設定では、AzureWebJobsSecretStorageTypekeyvault に設定する必要があります。

The AzureWebJobsSecretStorageKeyVaultUri value should be the full value of Vault URI displayed in the Key Vault overview tab, including https://.

コンテナーには、ホスティング リソースのシステム割り当てマネージド ID に対応するアクセス ポリシーが必要です。 アクセス ポリシーでは、GetSetListDelete というシークレットのアクセス許可を、その ID に付与することを必要としています。
When your functions run locally, the developer identity is used, and settings must be in the local.settings.json file.

Key Sample value
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Important

シークレットのスコープは、 AzureWebJobsSecretStorageKeyVaultUri 設定を通じて個々の関数アプリには適用されません。 同じ Key Vault を使用するように複数の関数アプリが構成されている場合、同じシークレットが共有され、キーの競合や上書きにつながる可能性があります。 意図しない動作を回避するために、関数アプリごとに個別の Key Vault インスタンスを使用することをお勧めします。

詳細については、「 キー ストレージの管理」を参照してください。

AzureWebJobsSecretStorageSas

キーの格納に使用される 2番目のストレージ アカウントの Blob Storage SAS URL。 既定では、Functions は AzureWebJobsStorage に設定されたアカウントを使用します。 このシークレット ストレージ オプションを使用する場合は、AzureWebJobsSecretStorageType が明示的に設定されていないこと、または、blob に設定されていることを確認してください。 詳細については、キー ストレージの管理に関するページを参照してください。

Key Sample value
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

キーの保存に使用するリポジトリまたはプロバイダーを指定します。 キーは、常に関数アプリに固有のシークレットを使用して、格納される前に暗号化されます。

Key Value Description
AzureWebJobsSecretStorageType blob キーは、AzureWebJobsStorage 設定によって指定されたアカウントの Blob Storage コンテナーに格納されます。 AzureWebJobsSecretStorageType が設定されていない場合の既定の動作は BLOB ストレージです。
別のストレージ アカウントを指定するには、AzureWebJobsSecretStorageSas 設定を使用して、2 番目のストレージ アカウントの SAS URL を指定します。
AzureWebJobsSecretStorageType files キーは、ファイル システムに保存されます。 この動作は、Functions v1.x の既定値です。
AzureWebJobsSecretStorageType keyvault キーは、AzureWebJobsSecretStorageKeyVaultName によって設定されるキー コンテナー インスタンスに格納されます。
AzureWebJobsSecretStorageType kubernetes Kubernetes で Functions ランタイムを実行する場合にのみサポートされます。 AzureWebJobsKubernetesSecretName が設定されていない場合、リポジトリは読み取り専用と見なされます。 この場合は、デプロイの前に値を生成する必要があります。 Kubernetes にデプロイすると、Azure Functions Core Tools によって値が自動的に生成されます。

詳細については、キー ストレージの管理に関するページを参照してください。

AzureWebJobsStorage

Functions ランタイムで通常の操作に使用する Azure Storage アカウントに接続文字列を指定します。 Functions によるこのストレージ アカウントの使用としては、キー管理、タイマー トリガー管理、Event Hubs チェックポイントなどがあります。 このストレージ アカウントは、blob、キュー、およびテーブルをサポートする汎用的なものである必要があります。 詳細については、「ストレージ アカウントの要件」をご覧ください。

Key Sample value
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

接続文字列の代わりに、このストレージ アカウントに ID ベースの接続を使用できます。 詳細については、「ID を使用してホスト ストレージに接続する」を参照してください。

AzureWebJobsStorage__accountName

ID ベースのストレージ接続を使用する場合は、AzureWebJobsStorage で接続文字列を使用する代わりに、ストレージ アカウントのアカウント名を設定します。 この構文は AzureWebJobsStorage に固有であり、他の ID ベースの接続には使用できません。

Key Sample value
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

ソブリン クラウドの場合、またはカスタム DNS を使用する場合は、代わりにサービス固有の AzureWebJobsStorage__*ServiceUri 設定を使用する必要があります。

AzureWebJobsStorage__blobServiceUri

ID ベースのストレージ接続を使用する場合は、ストレージ アカウントの BLOB サービスのデータ プレーン URI を設定します。

Key Sample value
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

ソブリン クラウドでは、またはカスタム DNS を使用する場合は、AzureWebJobsStorage__accountName の代わりにこの設定を使用します。 詳細については、「ID を使用してホスト ストレージに接続する」を参照してください。

AzureWebJobsStorage__queueServiceUri

ID ベースのストレージ接続を使用する場合は、ストレージ アカウントのキュー サービスのデータ プレーン URI を設定します。

Key Sample value
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

ソブリン クラウドでは、またはカスタム DNS を使用する場合は、AzureWebJobsStorage__accountName の代わりにこの設定を使用します。 詳細については、「ID を使用してホスト ストレージに接続する」を参照してください。

AzureWebJobsStorage__tableServiceUri

ID ベースのストレージ接続を使用する場合は、ストレージ アカウントのテーブル サービスのデータ プレーン URI を設定します。

Key Sample value
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

ソブリン クラウドでは、またはカスタム DNS を使用する場合は、AzureWebJobsStorage__accountName の代わりにこの設定を使用します。 詳細については、「ID を使用してホスト ストレージに接続する」を参照してください。

AzureWebJobs_TypeScriptPath

Typescript で使用されるコンパイラへのパスです。 必要に応じて、既定値はオーバーライドできます。

Key Sample value
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_REGISTRY_SERVER_PASSWORD

プライベート コンテナー レジストリへのアクセスに使用するパスワードを示します。 この設定は、プライベート コンテナー レジストリからコンテナー化された関数アプリをデプロイする場合にのみ必要です。 詳細については、「Azure App Service の環境変数とアプリ設定」を参照してください。

DOCKER_REGISTRY_SERVER_URL

プライベート コンテナー レジストリの URL を示します。 この設定は、プライベート コンテナー レジストリからコンテナー化された関数アプリをデプロイする場合にのみ必要です。 詳細については、「Azure App Service の環境変数とアプリ設定」を参照してください。

DOCKER_REGISTRY_SERVER_USERNAME

プライベート コンテナー レジストリへのアクセスに使用するアカウントを示します。 この設定は、プライベート コンテナー レジストリからコンテナー化された関数アプリをデプロイする場合にのみ必要です。 詳細については、「Azure App Service の環境変数とアプリ設定」を参照してください。

DOCKER_SHM_SIZE

Python ワーカーが共有メモリを使用している場合の共有メモリのサイズ (バイト単位) を設定します。 To learn more, see Shared memory.

Key Sample value
DOCKER_SHM_SIZE 268435456

上記の値は、最大 256 MB の共有メモリ サイズを設定します。

Requires that FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED is set to 1.

ENABLE_ORYX_BUILD

デプロイ中に Oryx ビルド システム を使用するかどうかを示します。 Linux へのリモート ビルド デプロイを実行する場合は、ENABLE_ORYX_BUILDtrue に設定する必要があります。 For more information, see Remote build.

Key Sample value
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Azure portal で関数アプリを編集できるかどうかを示します。 有効な値は readwritereadonly です。

Key Sample value
FUNCTION_APP_EDIT_MODE readonly

ランタイムは、関数アプリの言語スタックとデプロイの状態に基づいて値を設定します。 詳細については、「Azure portal での開発の制限事項」をご覧ください。

FUNCTIONS_EXTENSION_VERSION

関数アプリをホストする Functions ランタイムのバージョンです。 メジャー バージョンのチルダ (~) は、そのメジャー バージョンの最新バージョン (たとえば、 ~4) を使用することを意味します。 同じメジャー バージョンの新しいマイナー バージョンが使用できる場合、それらは関数アプリに自動的にインストールされます。

Key Sample value
FUNCTIONS_EXTENSION_VERSION ~4

次のランタイムのメジャー バージョン値がサポートされています。

Value Runtime target Comment
~4 4.x Recommended
~1 1.x サポートは 2026 年 9 月 14 日に終了します

値が ~4 の場合、ランタイムのバージョン 4.x でアプリが実行されます。 ~1 の値は、アプリをバージョン 1.x のランタイムに固定します。 ランタイム バージョン 2.x と 3.x はサポートされなくなりました。 詳細については、「Azure Functions ランタイム バージョンをターゲットにする方法」をご覧ください。

アプリを特定のマイナー バージョンにピン留めするようにサポートから要求された場合は、完全なバージョン番号 (たとえば、 4.0.12345) を使用します。 詳細については、「Azure Functions ランタイム バージョンをターゲットにする方法」を参照してください。

FUNCTIONS_INPROC_NET8_ENABLED

アプリがインプロセス モデルで .NET 8 を使用できるかどうかを示します。 インプロセス モデルで .NET 8 を使用するには、この値を 1 に設定する必要があります。 その他の必要な構成値を含む完全な手順については、「.NET 8 のターゲット設定に更新する」を参照してください。

Key Sample value
FUNCTIONS_INPROC_NET8_ENABLED 1

インプロセス モデルで .NET 8 のサポートを無効にするには、0 に設定します。

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

このアプリ設定は、Node.js アプリで破壊的変更を有効にする一時的な手段であり、Node.js v18 以前の場合、これによりエントリ ポイントのエラーがトラブルシューティングしやすくなります。 特に、エントリ ポイント ファイルを常に使用するモデル v4 アプリのプログラミングには、 trueを使用することを強くお勧めします。 破壊的変更なしの動作 (false) の場合、エントリ ポイントのエラーは無視され、Application Insights にログされません。

Node.js v20 以降では、このアプリ設定は影響を受けず、破壊的変更の動作は常に有効になります。

Node.js v18 以前では、このアプリ設定が使用され、既定の動作は、エラーの発生がモデル v4 関数の登録より先か後かによって異なります。

  • 前にエラーがスローされた場合、既定の動作は false と一致します。 たとえば、モデル v3 を使用している場合、またはエントリ ポイント ファイルが存在しない場合です。
  • エラーが後でスローされた場合、既定の動作は true と一致します。 たとえば、重複するモデル v4 関数を登録しようとするとします。
Key Value Description
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true エントリ ポイントのエラーが発生するとブロックされ、Application Insights にログされます。
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false エントリ ポイントのエラーは無視され、Application Insights にログされません。

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

HTTP エンドポイントに送信される要求の本文サイズの既定の制限をオーバーライドします。 この値はバイト単位で指定し、既定の最大要求サイズは 104,857,600 バイトです。

Key Sample value
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Important

この設定はサポートされなくなりました。 もともとは、v2.x ランタイムを対象としたアプリの短期的な回避策を有効にするために提供されていました。 サポートされている間は、代わりに v3.x ランタイムで実行できます。 バージョン 1.x で実行されるレガシ アプリを除き、すべての関数アプリはバージョン 4.x の Functions ランタイム (FUNCTIONS_EXTENSION_VERSION=~4) で実行する必要があります。 詳細については、「Azure Functions ランタイム バージョンをターゲットにする方法」をご覧ください。

FUNCTIONS_WORKER_PROCESS_COUNT

言語ワーカー プロセスの最大数を指定します。既定値は 1 です。 許容される最大値は 10 です。 関数呼び出しは、言語ワーカー プロセス間で均等に分散されます。 言語ワーカー プロセスは、FUNCTIONS_WORKER_PROCESS_COUNT によって設定されたカウントに達するまで、10 秒ごとに生成されます。 Using multiple language worker processes isn't the same as scaling. CPU にバインドされた呼び出しと I/O にバインドされた呼び出しがワークロードに混在している場合は、この設定を使用することを検討してください。 この設定は、プロセス (FUNCTIONS_WORKER_RUNTIME=dotnet) で実行されている .NET を除くすべての言語ランタイムに適用されます。

Key Sample value
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

関数アプリで読み込むワーカー ランタイムの言語または言語スタック。 この値は、 pythonなど、アプリケーションで使用されている言語に対応します。 Azure Functions Runtime のバージョン 2.x 以降では、特定の関数アプリでサポートできる言語は 1 つだけです。

Key Sample value
FUNCTIONS_WORKER_RUNTIME node

Valid values:

Value Language/language stack
dotnet C# (クラス ライブラリ)
C# (script)
dotnet-isolated C# (分離ワーカー プロセス)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Other

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

この設定を使用すると、Python ワーカーが共有メモリを使用してスループットを向上できます。 Python 関数アプリがメモリのボトルネックに達すると、共有メモリが有効になります。

Key Sample value
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

With this setting enabled, you can use the DOCKER_SHM_SIZE setting to set the shared memory size. To learn more, see Shared memory.

JAVA_ENABLE_SDK_TYPES

関数アプリでネイティブの Azure SDK 型をバインドで使用できるようにします。

Note

SDK の種類へのバインドのサポートは現在プレビュー段階であり、Azure Blob Storage SDK に限定されています。 For more information, see SDK types in the Java reference article.

Key Sample value
JAVA_ENABLE_SDK_TYPES true

For more information, see SDK types in the Java reference article.

JAVA_OPTS

Used to customize the Java virtual machine (JVM) used to run your Java functions when running on a Premium plan or Dedicated plan. 従量課金プランで実行している場合は、代わりに languageWorkers__java__arguments を使用してください。 For more information, see Customize JVM.

languageWorkers__java__arguments

Used to customize the Java virtual machine (JVM) used to run your Java functions when running on a Consumption plan. この設定によって、従量課金プランで実行される Java 関数のコールド スタート時間が長くなります。 Premium プランまたは Dedicated プランの場合は、代わりに JAVA_OPTS を使用してください。 For more information, see Customize JVM.

MDMaxBackgroundUpgradePeriod

PowerShell 関数アプリの管理対象の依存関係のバックグラウンド更新期間を制御します。既定値は 7.00:00:00 (毎週) です。

各 PowerShell ワーカー プロセスは、プロセスの開始時と開始後のすべての MDMaxBackgroundUpgradePeriod で、PowerShell ギャラリーでモジュールのアップグレードのチェックを開始します。 PowerShell ギャラリーで利用可能になった新しいモジュール バージョンは、ファイル システムにインストールされ、PowerShell ワーカーが使用できるになります。 この値を小さくすると、関数アプリのモジュール バージョンが早くなりますが、ネットワーク I/O、CPU、ストレージなど、アプリ リソースの使用量も増加します。 この値を大きくすると、アプリ リソースの使用量は減少しますが、アプリへの新しいモジュール バージョンの配信も遅くなる可能性があります。

Key Sample value
MDMaxBackgroundUpgradePeriod 7.00:00:00

To learn more, see Dependency management.

MDNewSnapshotCheckPeriod

各 PowerShell ワーカーがマネージド依存関係のアップグレードがインストールされているかどうかを確認する頻度を指定します。 既定の頻度は 01:00:00 (毎時) です。

新しいモジュール バージョンがファイル システムにインストールされたら、すべての PowerShell ワーカー プロセスを再起動する必要があります。 PowerShell ワーカーを再起動すると、現在の関数の実行が中断される可能性があるため、アプリの可用性に影響します。 すべての PowerShell ワーカー プロセスが再起動されるまで、関数呼び出しでは、前のモジュール バージョンまたは新しいモジュール バージョンのいずれかが使用される可能性があります。 すべての PowerShell ワーカーの再起動は MDNewSnapshotCheckPeriod 以内に完了します。

PowerShell ワーカーは、すべての MDNewSnapshotCheckPeriod内で、マネージド依存関係のアップグレードがインストールされているかどうかを確認します。 アップグレードがインストールされると、再起動が開始されます。 この値を大きくすると、再起動による中断の頻度は減少します。 ただし、大きくすることにより、関数呼び出しで古いまたは新しいモジュール バージョンが非決定的に使用される可能性がある期間が長くなる恐れもあります。

Key Sample value
MDNewSnapshotCheckPeriod 01:00:00

To learn more, see Dependency management.

MDMinBackgroundUpgradePeriod

管理対象の依存関係のアップグレードに関する前回のチェックの後、別のアップグレード チェックが開始されるまでの期間。既定値は 1.00:00:00 (毎日) です。

Worker の再起動が頻繁に行われるときにモジュールの過剰なアップグレードを回避するために、最後の MDMinBackgroundUpgradePeriodでチェックを開始したワーカーが既に存在する場合、モジュールのアップグレードのチェックは実行されません。

Key Sample value
MDMinBackgroundUpgradePeriod 1.00:00:00

To learn more, see Dependency management.

PIP_INDEX_URL

この設定を使用すると、Python Package Index のベース URL (既定では https://pypi.org/simple) をオーバーライドできます。 この設定は、カスタム依存関係を使用してリモート ビルドを実行する必要がある場合に使用します。 これらのカスタム依存関係は、PEP 503 (単純なリポジトリ API) に準拠しているパッケージ インデックス リポジトリ、または同じ形式に従うローカル ディレクトリに入れることができます。

Key Sample value
PIP_INDEX_URL http://my.custom.package.repo/simple

詳細は、pip については --index-url ドキュメントを、カスタム依存関係の使用については Python 開発者リファレンスを参照してください。

PIP_EXTRA_INDEX_URL

この設定の値は、--index-url に加えて使用する、Python アプリのカスタム パッケージの追加のインデックス URL を示します。 この設定は、追加のパッケージ インデックスにあるカスタム依存関係を使用してリモート ビルドを実行する必要がある場合に使用します。 --index-url と同じ規則に従う必要があります。

Key Sample value
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

詳細は、pip については --extra-index-url ドキュメントを、カスタム依存関係については Python 開発者リファレンスを参照してください。

PROJECT

A continuous deployment setting that tells the Kudu deployment service the folder in a connected repository to location the deployable project.

Key Sample value
PROJECT WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

この構成は Python 関数アプリに固有です。 モジュール読み込み順序の優先順位を定義します。 既定では、この値は 0 に設定されます。

Key Value Description
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Python ライブラリを内部 Python worker の依存関係から読み込むことを優先します。これが既定の動作です。 requirements.txt で定義されている Microsoft 以外のライブラリがシャドウされる可能性があります。
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Python ライブラリを requirements.txt で定義されているアプリケーションのパッケージから読み込むことを優先します。 この値により、ライブラリが内部 Python ワーカーのライブラリと衝突するのを防ぐことができます。

PYTHON_ENABLE_DEBUG_LOGGING

Python 関数アプリでデバッグ レベルのログ記録を有効にします。 1 の値を指定すると、デバッグ レベルのログ記録が有効になります。 この設定がないか、値が 0 である場合、情報以上のレベルのログのみが Python ワーカーから Functions ホストに送信されます。 この設定は、Python 関数の実行をデバッグまたはトレースするときに使用します。

When debugging Python functions, make sure to also set a debug or trace logging level in the host.json file, as needed. 詳しくは、Azure Functions で監視を構成する方法に関するページを参照してください。

PYTHON_ENABLE_WORKER_EXTENSIONS

この構成は Python 関数アプリに固有です。 この値を 1 に設定すると、worker で requirements.txtで定義された Python worker 拡張機能 がロードできるようになります。 これにより、関数アプリはパートナー パッケージによって提供される新機能にアクセスできます。 また、アプリでの関数の読み込みと呼び出しの動作が変更される場合もあります。 選択する拡張機能は、それを使用するとリスクが生じるので、信頼できるものであることを確認します。 Azure Functions は、あらゆる拡張機能に対して明示的な保証をしません。 拡張機能の使い方については、拡張機能のマニュアル ページまたは readme ドキュメントを参照してください。既定では、この値は 0 に設定されます。

Key Value Description
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Python ワーカー拡張機能を無効にします。
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Python ワーカーが requirements.txt から拡張機能を読み込めるようにします。

PYTHON_THREADPOOL_THREAD_COUNT

Python 言語ワーカーが関数呼び出しの実行に使用するスレッドの最大数を指定します。Python バージョン 1 以下の既定値は 3.8 です。 Python バージョン 3.9 以降では、値は None に設定されます。 この設定は、実行中に設定されるスレッドの数を保証するものではありません。 この設定により、Python では、スレッドの数を指定された値に増やすことができます。 この設定は、Python 関数アプリにのみ適用されます。 また、この設定は、コルーチンではなく、同期関数の呼び出しに適用されます。

Key Sample value Max value
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

"この設定は現在プレビューの段階です。"

この設定は、Azure Functions スケール コントローラーからのログ記録を制御します。 詳細については、スケール コントローラーのログに関するセクションを参照してください。

Key Sample value
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

このキーの値は <DESTINATION>:<VERBOSITY> の形式で指定されます。これは次のように定義されます。

Property Description
<DESTINATION> ログの送信先。 有効な値は AppInsightsBlob です。
AppInsights を使用する場合は、関数アプリで Application Insights が有効になっていることを確認してください。
宛先を Blob に設定すると、azure-functions-scale-controller アプリケーション設定で設定されている既定のストレージ アカウントの AzureWebJobsStorage という名前の BLOB コンテナーにログが作成されます。
<VERBOSITY> ログ記録のレベルを指定します。 サポートされている値は、NoneWarning、および Verbose です。
Verbose に設定すると、スケール コントローラーは、すべてのワーカー数の変更の理由と、それらの決定の要因となるトリガーに関する情報をログに記録します。 詳細ログには、トリガー警告と、スケール コントローラーの実行前と実行後にトリガーによって使用されたハッシュが含まれます。

Tip

スケール コントローラーのログを有効にしたままにすると、関数アプリの監視にかかるかもしれないコストに影響することに注意してください。 スケール コントローラーの動作を理解するのに十分なデータを収集し、それを無効にするまでログ記録を有効にすることを検討してください。

SCM_DO_BUILD_DURING_DEPLOYMENT

デプロイ中のリモート ビルドの動作を制御します。 SCM_DO_BUILD_DURING_DEPLOYMENTtrue に設定されている場合、プロジェクトはデプロイ中にリモートでビルドされます。

Key Sample value
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

ストリーミング ログに接続されているときのタイムアウトを秒単位で制御します。 既定値は 7,200 (2 時間) です。

Key Sample value
SCM_LOGSTREAM_TIMEOUT 1800

上記の 1800 のサンプル値は、タイムアウトを 30 分に設定します。 詳しくは、「Azure Functions で実行ログのストリーミングを有効にする」をご覧ください。

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

イベント ドリブン スケーリング プランに関数アプリのコードと構成が格納されているストレージ アカウントの接続文字列です。 詳細については、「ストレージ アカウント接続の設定」を参照してください。

Key Sample value
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

この設定は、Windows と Linux の両方で実行されている従量課金と Elastic Premium のプランのアプリに必須です。 Functions が動的にスケーリングしない専用プラン アプリでは必要ありません。

この設定を変更または削除すると、関数アプリが起動しなくなることがあります。 詳細については、こちらのトラブルシューティング記事を参照してください。

Azure Files では、ファイル共有にアクセスする際のマネージド ID の使用がサポートされていません。 詳細については、Azure Files でサポートされている認証シナリオに関する記事を参照してください。

WEBSITE_CONTENTOVERVNET

Important

WEBSITE_CONTENTOVERVNET is a legacy app setting that has been replaced by the vnetContentShareEnabled site property.

1 の値を指定すると、ストレージ アカウントを仮想ネットワークに制限している場合に、関数アプリをスケーリングできます。 ストレージ アカウントを仮想ネットワークに制限する場合は、この設定を有効にする必要があります。 WEBSITE_CONTENTSHARE および WEBSITE_CONTENTAZUREFILECONNECTIONSTRING を使用する場合にのみ必須です。 詳細については、「ストレージ アカウントを仮想ネットワークに制限する」を参照してください。

Key Sample value
WEBSITE_CONTENTOVERVNET 1

This app setting is required on the Elastic Premium and Dedicated (App Service) plans (Standard and higher). Not supported when running on a Consumption plan.

Note

同じプラン内の複数の関数アプリによって共有されているストレージ アカウント内のコンテンツ共有にルーティングする場合は、特別な注意を払う必要があります。 詳細については、ストレージに関する考慮事項の記事にある「仮想ネットワーク経由の一貫性のあるルーティング」を参照してください。

WEBSITE_CONTENTSHARE

関数アプリのコードと構成ファイルを保存するために Functions で使用するファイル共有の名前。 このコンテンツは、イベント ドリブン スケーリング プランで必要です。 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING で使用されます。 既定は、関数アプリ名で始まる、ランタイムによって生成される一意文字列です。 詳細については、「ストレージ アカウント接続の設定」を参照してください。

Key Sample value
WEBSITE_CONTENTSHARE functionapp091999e2

この設定は、Windows と Linux の両方で従量課金と Premium のプランのアプリに必須です。 Functions によって動的にスケーリングされない Dedicated プランのアプリには必須ではありません。

共有は、関数アプリの作成時に作成されます。 この設定を変更または削除すると、関数アプリが起動しなくなることがあります。 詳細については、こちらのトラブルシューティング記事を参照してください。

デプロイ時に Azure Resource Manager (ARM) テンプレートまたは Bicep ファイルを使用して関数アプリを作成する場合は、次の考慮事項が適用されます。

  • メインの関数アプリまたはスロット内の任意のアプリに WEBSITE_CONTENTSHARE 値を設定しない場合、一意の共有値が自動的に生成されます。 WEBSITE_CONTENTSHARE を設定しないことは、ARM テンプレートのデプロイでお勧めしている方法です。
  • WEBSITE_CONTENTSHARE 値を事前定義の値に設定する必要があるシナリオが存在します。たとえば、セキュリティで保護されたストレージ アカウントを仮想ネットワークで使用する場合などです。 この場合、メインの関数アプリと各デプロイ スロットのアプリに一意の共有名を設定する必要があります。 仮想ネットワークによってセキュリティ保護されたストレージ アカウントの場合は、自動デプロイの一部として共有自体も作成する必要があります。 For more information, see Secured deployments.
  • WEBSITE_CONTENTSHARE はスロット設定にしないでください。
  • WEBSITE_CONTENTSHARE を指定する場合、値は共有名に関するこちらのガイダンスに従っている必要があります。

WEBSITE_DNS_SERVER

IP アドレスの解決時にアプリによって使用される DNS サーバーを設定します。 この設定は、Azure DNS Private Zonesプライベート エンドポイントなど、特定のネットワーク機能を使用する場合に必要になることがよくあります。

Key Sample value
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

圧縮のために既定の gzip 圧縮ではなく、Brotli エンコーディングが使用されるかどうかを制御します。 WEBSITE_ENABLE_BROTLI_ENCODING1 に設定すると、Brotli エンコードが使用されます。 それ以外の場合は、gzip エンコードが使用されます。

WEBSITE_FUNCTIONS_ARMCACHE_ENABLED

Azure Resource Manager (ARM) テンプレートを使用して関数アプリをデプロイするときにキャッシュを無効にします。

Key Sample value
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

アプリがスケールアウトできる最大のインスタンス数です。 既定は無制限です。

Important

この設定は、プレビューの段階です。 関数の最大スケールアウトのアプリ プロパティが存在するようになりました。 スケールアウトを制限するには、このプロパティをお勧めします。

Key Sample value
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Windows only. Windows で関数アプリを実行するときに使用する Node.js のバージョンを設定します。 チルダ (~) を使用して、対象となるメジャー バージョンの使用可能な最新バージョンをランタイムに使用させる必要があります。 たとえば、~18 に設定すると、Node.js 18 の最新バージョンが使用されます。 メジャー バージョンがチルダ付きで対象になっている場合は、マイナー バージョンを手動で更新する必要はありません。

Key Sample value
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Premium プランで実行されている関数アプリで スロット スワップ を実行すると、アプリで使用される専用ストレージ アカウントがネットワーク制限されている場合、スワップが失敗する可能性があります。 このエラーは、Functions と App Service の両方が共有するレガシ アプリケーション ログ機能によって発生します。 この設定を行うと、その従来のログ機能がオーバーライドされ、スワップを実行できるようになります。

Key Sample value
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS の値を持つ 0 をすべてのスロットに追加して、従来の診断設定によってスワップがブロックされないようにします。 また、この設定と値を、 デプロイ スロット (sticky) 設定として、運用スロットのみに追加することもできます。

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

既定では、関数アプリのバージョン設定は各スロットに固有です。 This setting is used when upgrading functions by using deployment slots. この方法では、スワップ後のバージョンの変更による予期しない動作を防ぐことができます。 運用環境とスロットで 0 に設定して、すべてのバージョン設定もスワップされるようにします。 詳細については、「スロットを使用したアップグレード」を参照してください。

Key Sample value
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

ローカルにマウントすることも、外部 URL にデプロイすることもできるパッケージ ファイルから関数アプリを実行できるようにします。

Key Sample value
WEBSITE_RUN_FROM_PACKAGE 1

有効な値は、外部デプロイ パッケージ ファイルの場所に解決される URL、または 1 です。 1 に設定した場合、パッケージは d:\home\data\SitePackages フォルダーに存在する必要があります。 WEBSITE_RUN_FROM_PACKAGE を有効にして zip デプロイを使用すると、パッケージは自動的にこの場所にアップロードされます。 プレビューでは、この設定は WEBSITE_RUN_FROM_ZIP という名前でした。 詳細については、パッケージ ファイルからの関数の実行に関するページを参照してください。

外部パッケージ URL からデプロイする場合は、トリガーを手動で同期する必要もあります。 For more information, see Trigger syncing.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

The WEBSITE_CONTENTAZUREFILECONNECTIONSTRING and WEBSITE_CONTENTSHARE settings have extra validation checks to ensure that the app can be properly started. ネットワークの制約やその他の制限要因により、関数アプリがダウンストリームのストレージ アカウントまたは Key Vault を適切に呼び出せない場合、アプリケーション設定の作成は失敗します。 WEBSITE_SKIP_CONTENTSHARE_VALIDATIONが 1 に設定されている場合、検証チェックはスキップされます。 それ以外の場合、既定値は 0 になり、検証が行われます。

Key Sample value
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

検証がスキップされ、接続文字列またはコンテンツ共有が無効な場合、アプリは正しく起動できません。 この場合、関数は HTTP 500 エラーを返します。 詳細については、"Azure Functions Runtime に到達できない" エラーのトラブルシューティングを参照してください。

WEBSITE_SLOT_NAME

Read-only. 現在のデプロイ スロットの名前。 運用スロットの名前は Production です。

Key Sample value
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

関数アプリのタイムゾーンを設定できます。

Key OS Sample value
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

CRON 式で使用する既定のタイム ゾーンは、協定世界時 (UTC) です。 別のタイム ゾーンに基づく CRON 式を使うには、Function App 用に WEBSITE_TIME_ZONE という名前のアプリ設定を作成します。

この設定の値は、関数アプリを実行するオペレーティング システムとプランによって異なります。

Operating system Plan Value
Windows All Windows コマンド tzutil.exe /L によって指定された各ペアの 2 行目に指定されているように、この値を目的のタイム ゾーンの名前に設定します。
Linux Premium
Dedicated
Set the value to the name of the desired time zone as shown in the tz database

Note

WEBSITE_TIME_ZONE 従量課金プランまたは Flex 従量課金プランで Linux 上で実行する場合、 TZ は現在サポートされていません。 この場合、設定 WEBSITE_TIME_ZONE または TZ によって SSL 関連の問題が発生し、メトリックがアプリの動作を停止する可能性があります。

たとえば、米国の東部標準時 (Eastern Standard Time (Windows) または America/New_York (Linux)) では現在、標準時では UTC-05:00、夏時間では UTC-04:00 を使用します。 タイマー トリガーが毎日東部標準時の午前 10 時に発生するように設定するには、関数アプリのアプリ設定を WEBSITE_TIME_ZONE という名前で作成し、その値を Eastern Standard Time (Windows) または America/New_York (Linux) に設定して、次の NCRONTAB 式を使用します。

"0 0 10 * * *"

WEBSITE_TIME_ZONEを使用すると、夏時間や標準時の変更など、特定のタイムゾーンの時間変化に合わせて時刻が調整されます。

WEBSITE_USE_PLACEHOLDER

Indicates whether to use a specific cold start optimization when running on the Consumption plan. 従量課金プランでコールド スタート最適化を無効にするには、0 に設定します。

Key Sample value
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

Indicates whether to use a specific cold start optimization when running .NET isolated worker process functions on the Consumption plan. 従量課金プランでコールド スタート最適化を無効にするには、0 に設定します。

Key Sample value
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Important

WEBSITE_VNET_ROUTE_ALL is a legacy app setting that has been replaced by the vnetRouteAllEnabled site setting.

アプリからのすべての送信トラフィックが仮想ネットワーク経由でルーティングされるかどうかを示します。 設定値が 1 の場合は、すべてのアプリケーション トラフィックが仮想ネットワーク経由でルーティングされることを示します。 Elastic Premium および専用ホスティング プランで リージョン仮想ネットワーク統合 を構成する場合は、この設定が必要です。 また、仮想ネットワーク NAT ゲートウェイを使用して静的な送信 IP アドレスを定義する場合にも使用されます。

Key Sample value
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

/home ディレクトリがスケーリングされたインスタンス間で共有されているかどうかを示します。既定値は true です。 この値は、コンテナーに関数アプリをデプロイするときに false に設定する必要があります。

App Service サイトの設定

一部の構成は、言語バージョンなど、サイト設定として App Service レベルで維持する必要があります。 これらの設定は、Azure portal、REST API、または Azure CLI または Azure PowerShell を使用して管理されます。 ランタイム言語、OS、およびバージョンに応じて、必要になる可能性があるサイト設定を次に示します。

AcrUseManagedIdentityCreds

マネージド ID 認証を使用して Azure Container Registry インスタンスからイメージを取得するかどうかを示します。 trueの値を指定するには、マネージド ID を使用する必要があります。 セキュリティのベスト プラクティスとして、保存されている認証資格情報よりもこの方法をお勧めします。

AcrUserManagedIdentityID

Azure Container Registry インスタンスからイメージを取得するときに使用するマネージド ID を示します。 AcrUseManagedIdentityCredstrue に設定する必要があります。 これらの値は有効です。

Value Description
system 関数アプリのシステム割り当てマネージド ID が使用されます。
<USER_IDENTITY_RESOURCE_ID> ユーザー割り当てマネージド ID の完全修飾リソース ID。

指定する ID は、コンテナー レジストリの ACRPull ロールに追加する必要があります。 詳細については、「イメージを使用して Azure 上の関数アプリを作成、構成する」を参照してください。

alwaysOn

専用 (App Service) プランで実行されている関数アプリでは、Functions ランタイムは、数分間非アクティブになるとアイドル状態になります。この時点では、関数アプリを "ウェイクアップ" させるのは HTTP トリガーへの要求のみです。 HTTP トリガー以外の関数 (タイマー トリガー関数を含む) が正しく実行されるようにするには、alwaysOn サイト設定を true の値に設定して、関数アプリに対して Always On を有効にします。

functionsRuntimeAdminIsolationEnabled

関数アプリのビルトイン Administrator (/admin) エンドポイントにアクセスできるかどうかを判断します。 When set to false (the default), the app allows requests to endpoints under /admin when those requests present a master key in the request. true の場合、マスター キーを使用しても /admin エンドポイントにアクセスできません。

このプロパティは、Linux Consumption SKU で実行されているアプリには設定できません。 バージョン 1.x の Azure Functions で実行されているアプリには設定できません。 バージョン 1.x を使用している場合は、最初 にバージョン 4.x に移行する必要があります。

linuxFxVersion

Linux で実行されている関数アプリの場合は、linuxFxVersion は言語固有のワーカー プロセスの言語とバージョンを示します。 この情報は、関数アプリを実行するためにインストールされている特定の Linux コンテナー イメージを決定するために、FUNCTIONS_EXTENSION_VERSION とともに使用されます。 この設定は、事前定義済みの値またはカスタム イメージ URI に設定できます。

この値は、Linux 関数アプリを作成するときに設定されます。 ARM テンプレートと Bicep のデプロイ、特定のアップグレード シナリオで設定する必要がある場合があります。

有効な linuxFxVersion 値

次の Azure CLI コマンドを使用して、サポートされている Functions ランタイム バージョン別の現在の linuxFxVersion の値の表を表示できます。

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

以前のコマンドでは、Azure CLI のバージョン 2.40 にアップグレードする必要があります。

Custom images

関数アプリ用に独自のカスタム Linux コンテナーを作成して管理する場合、次の例のように、 linuxFxVersion の値は代わりに DOCKER|<IMAGE_URI>形式になります。

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

この例は、デプロイされたコンテナーのレジストリ ソースを示します。 詳細については、「コンテナーと Azure Functions を使用する」を参照してください。

Important

独自のコンテナーを作成するときは、コンテナーの基本イメージを、サポートされている最新の基本イメージに更新しておく必要があります。 Azure Functions でサポートされている基本イメージは言語固有です。 Azure Functions の基本イメージ リポジトリを参照してください。

Functions チームは、これらの基本イメージの更新プログラムを毎月公開できるよう取り組んでいます。 通常の更新プログラムには、Functions ランタイムと言語の両方について、最新のマイナー バージョンの更新プログラムとセキュリティ修正プログラムが含まれます。 最新の基本イメージからコンテナーを定期的に更新し、コンテナーの更新されたバージョンを再デプロイする必要があります。 詳しくは、「カスタム コンテナーのメンテナンス」をご覧ください。

netFrameworkVersion

C# 関数用の .NET の特定のバージョンを設定します。 詳細については、「Azure で関数アプリを更新する」を参照してください。

powerShellVersion

関数を実行する PowerShell の特定のバージョンを設定します。 詳細については、「PowerShell のバージョンの変更」を参照してください。

ローカルで実行する場合は、代わりに local.settings.json ファイルの FUNCTIONS_WORKER_RUNTIME_VERSION 設定を使用します。

vnetContentShareEnabled

Premium プランで実行されているアプリは、ファイル共有を使用してコンテンツを格納します。 このコンテンツ共有の名前は、WEBSITE_CONTENTSHARE アプリ設定に格納され、接続文字列は WEBSITE_CONTENTAZUREFILECONNECTIONSTRING に格納されます。 仮想ネットワーク経由で関数アプリとコンテンツ共有の間でトラフィックをルーティングするには、vnetContentShareEnabledtrue に設定する必要もあります。 エラスティック Premium および専用ホスティング プランでストレージ アカウントを仮想ネットワークに制限する場合は、このサイト プロパティを有効にする必要があります。

Note

同じプラン内の複数の関数アプリによって共有されているストレージ アカウント内のコンテンツ共有にルーティングする場合は、特別な注意を払う必要があります。 詳細については、ストレージに関する考慮事項の記事にある「仮想ネットワーク経由の一貫性のあるルーティング」を参照してください。

このサイト プロパティは、従来の WEBSITE_CONTENTOVERVNET 設定を置き換えます。

vnetImagePullEnabled

関数は、Linux コンテナーで実行されている関数アプリをサポートします。 仮想ネットワーク内のコンテナー レジストリから接続してプルするには、vnetImagePullEnabledtrue に設定する必要があります。 このサイトのプロパティは、エラスティック Premium および専用ホスティング プランでサポートされています。 Flex 従量課金プランは、ネットワークを構成するためにサイトのプロパティやアプリ設定に依存しません。 詳細については、Flex 従量課金プランの非推奨に関するページを参照してください。

vnetRouteAllEnabled

アプリからのすべての送信トラフィックが仮想ネットワーク経由でルーティングされるかどうかを示します。 設定値が true の場合は、すべてのアプリケーション トラフィックが仮想ネットワーク経由でルーティングされることを示します。 エラスティック Premium および専用ホスティング プランでリージョンでの仮想ネットワーク統合を構成する場合に、この設定を使用します。 また、仮想ネットワーク NAT ゲートウェイを使用して静的な送信 IP アドレスを定義する場合にも使用されます。 詳細については、「アプリケーションのルーティングを構成する」を参照してください。

This site setting replaces the legacy WEBSITE_VNET_ROUTE_ALL setting.

Flex 従量課金プランの廃止

Flex 従量課金プランでは、以下のサイト プロパティとアプリケーション設定は非推奨のため、関数アプリ リソースを作成するときに使用しないでください。

Setting/property Reason
ENABLE_ORYX_BUILD remoteBuild パラメーターによって置き換えられました (Flex 従量課金でのデプロイ時)
FUNCTIONS_EXTENSION_VERSION アプリ設定はバックエンドによって設定されます。 値 ~1 は無視してかまいません。
FUNCTIONS_WORKER_RUNTIME nameproperties.functionAppConfig.runtime によって置き換えられました
FUNCTIONS_WORKER_RUNTIME_VERSION versionproperties.functionAppConfig.runtime によって置き換えられました
FUNCTIONS_MAX_HTTP_CONCURRENCY スケールとコンカレンシーのトリガー セクションに置き換えられました
FUNCTIONS_WORKER_PROCESS_COUNT 設定が無効です
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED 設定が無効です
SCM_DO_BUILD_DURING_DEPLOYMENT remoteBuild パラメーターによって置き換えられました (Flex 従量課金でのデプロイ時)
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING functionAppConfig のデプロイ セクションに置き換えられました
WEBSITE_CONTENTOVERVNET Flex 従量課金でのネットワークには使用されません
WEBSITE_CONTENTSHARE functionAppConfig のデプロイ セクションに置き換えられました
WEBSITE_DNS_SERVER DNS は Flex の統合仮想ネットワークから継承されます
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT maximumInstanceCountproperties.functionAppConfig.scaleAndConcurrency によって置き換えられました
WEBSITE_NODE_DEFAULT_VERSION versionproperties.functionAppConfig.runtime によって置き換えられました
WEBSITE_RUN_FROM_PACKAGE Flex 従量課金でのデプロイには使用されません
WEBSITE_SKIP_CONTENTSHARE_VALIDATION コンテンツ共有は Flex Consumption では使用されません
WEBSITE_VNET_ROUTE_ALL Flex 従量課金でのネットワークには使用されません
properties.alwaysOn Not valid
properties.containerSize instanceMemoryMB という名前に変更されました
properties.ftpsState FTPS はサポートされていません
properties.isReserved Not valid
properties.IsXenon Not valid
properties.javaVersion versionproperties.functionAppConfig.runtime によって置き換えられました
properties.LinuxFxVersion properties.functionAppConfig.runtime によって置き換えられました
properties.netFrameworkVersion versionproperties.functionAppConfig.runtime によって置き換えられました
properties.powerShellVersion versionproperties.functionAppConfig.runtime によって置き換えられました
properties.siteConfig.functionAppScaleLimit maximumInstanceCount という名前に変更されました
properties.siteConfig.preWarmedInstanceCount alwaysReadyInstances という名前に変更されました
properties.use32BitWorkerProcess 32 ビットはサポートされていません
properties.vnetBackupRestoreEnabled Flex 従量課金でのネットワークには使用されません
properties.vnetContentShareEnabled Flex 従量課金でのネットワークには使用されません
properties.vnetImagePullEnabled Flex 従量課金でのネットワークには使用されません
properties.vnetRouteAllEnabled Flex 従量課金でのネットワークには使用されません
properties.windowsFxVersion Not valid