関数アプリのアプリケーション設定には、その関数アプリのすべての関数に影響する構成オプションが含まれています。 これらの設定は、環境変数としてアクセスされます。 この記事では、関数アプリで使用できるアプリケーション設定の一覧を紹介します。
関数アプリの設定は、いくつかの方法で追加、更新、削除できます。
関数アプリの設定に変更を加えるためには、関数アプリを再起動する必要があります。
この記事の例で、接続文字列の値は、読みやすくするために切り詰められています。
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_INSTRUMENTATIONKEY
と APPLICATIONINSIGHTS_CONNECTION_STRING
の両方を使用することはできません。 可能な場合は、APPLICATIONINSIGHTS_CONNECTION_STRING
を使用します。 Application Insights がソブリン クラウドで実行されている場合は、APPLICATIONINSIGHTS_CONNECTION_STRING
を使用する必要があります。 詳細については、Azure Functions で監視を構成する方法に関するページを参照してください。
Key | Sample value |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
APPINSIGHTS_INSTRUMENTATIONKEY
と APPLICATIONINSIGHTS_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_INSTRUMENTATIONKEY
と APPLICATIONINSIGHTS_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_SLASHES
が true
に設定されている場合、URL example.com/api%2ftest
は example.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_ENVIRONMENT が Development に設定されます。 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
の応答に対し、次の例のようなものが表示されます。
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 リソースを使用する場合の考慮事項:
- また、
AzureWebJobsSecretStorageType
をkubernetes
に設定する必要があります。AzureWebJobsKubernetesSecretName
が設定されていない場合、リポジトリは読み取り専用と見なされます。 この場合は、デプロイの前に値を生成する必要があります。 - Kubernetes にデプロイすると、Azure Functions Core Tools によって値が自動的に生成されます。
- Immutable secrets aren't supported and using them results in runtime errors.
詳細については、キー ストレージの管理に関するページを参照してください。
AzureWebJobsSecretStorageKeyVaultClientId
キーが格納されているコンテナーへのアクセスに使用するユーザー割り当てマネージド ID またはアプリ登録のクライアント ID。 この設定では、AzureWebJobsSecretStorageType
を keyvault
に設定する必要があります。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。
Key | Sample value |
---|---|
AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
詳細については、キー ストレージの管理に関するページを参照してください。
AzureWebJobsSecretStorageKeyVaultClientSecret
キーが格納されているコンテナーへのアクセスに使用するユーザー割り当てマネージド ID またはアプリ登録のクライアント ID のシークレット。 この設定では、AzureWebJobsSecretStorageType
を keyvault
に設定する必要があります。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。
Key | Sample value |
---|---|
AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
詳細については、キー ストレージの管理に関するページを参照してください。
AzureWebJobsSecretStorageKeyVaultName
この設定は非推奨であり、Azure Functions ランタイムのバージョン 3.x で実行している場合にのみ使用されていました。
キーを格納するために使用されるキー コンテナー インスタンスの名前。 この設定は、サポートされなくなった Functions ランタイムのバージョン 3.x でのみ使用されていました。 バージョン 4.x の場合は、代わりに AzureWebJobsSecretStorageKeyVaultUri
を使用します。 この設定では、AzureWebJobsSecretStorageType
を keyvault
に設定する必要があります。
コンテナーには、ホスティング リソースのシステム割り当てマネージド ID に対応するアクセス ポリシーが必要です。 アクセス ポリシーでは、Get
、Set
、List
、Delete
というシークレットのアクセス許可を、その ID に付与することを必要としています。
関数がローカルで実行されると、開発者 ID が使用されます。 Settings must be in the local.settings.json file.
Key | Sample value |
---|---|
AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
詳細については、キー ストレージの管理に関するページを参照してください。
AzureWebJobsSecretStorageKeyVaultTenantId
キーが格納されているコンテナーへのアクセスに使用されるアプリ登録のテナント ID。 この設定では、AzureWebJobsSecretStorageType
を keyvault
に設定する必要があります。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。 詳細については、キー ストレージの管理に関するページを参照してください。
Key | Sample value |
---|---|
AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
キーを格納するために使用されるキー コンテナー インスタンスのURI。 バージョン 4.x 以降のバージョンの Functions ランタイムでサポートされています。 キー ストレージにキー コンテナー インスタンスを使用する場合は、この設定をお勧めします。 この設定では、AzureWebJobsSecretStorageType
を keyvault
に設定する必要があります。
The AzureWebJobsSecretStorageKeyVaultUri
value should be the full value of Vault URI displayed in the Key Vault overview tab, including https://
.
コンテナーには、ホスティング リソースのシステム割り当てマネージド ID に対応するアクセス ポリシーが必要です。 アクセス ポリシーでは、Get
、Set
、List
、Delete
というシークレットのアクセス許可を、その 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_BUILD
を true
に設定する必要があります。 For more information, see Remote build.
Key | Sample value |
---|---|
ENABLE_ORYX_BUILD | true |
FUNCTION_APP_EDIT_MODE
Azure portal で関数アプリを編集できるかどうかを示します。 有効な値は readwrite
と readonly
です。
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> |
ログの送信先。 有効な値は AppInsights と Blob です。AppInsights を使用する場合は、関数アプリで Application Insights が有効になっていることを確認してください。宛先を Blob に設定すると、azure-functions-scale-controller アプリケーション設定で設定されている既定のストレージ アカウントの AzureWebJobsStorage という名前の BLOB コンテナーにログが作成されます。 |
<VERBOSITY> |
ログ記録のレベルを指定します。 サポートされている値は、None 、Warning 、および Verbose です。Verbose に設定すると、スケール コントローラーは、すべてのワーカー数の変更の理由と、それらの決定の要因となるトリガーに関する情報をログに記録します。 詳細ログには、トリガー警告と、スケール コントローラーの実行前と実行後にトリガーによって使用されたハッシュが含まれます。 |
Tip
スケール コントローラーのログを有効にしたままにすると、関数アプリの監視にかかるかもしれないコストに影響することに注意してください。 スケール コントローラーの動作を理解するのに十分なデータを収集し、それを無効にするまでログ記録を有効にすることを検討してください。
SCM_DO_BUILD_DURING_DEPLOYMENT
デプロイ中のリモート ビルドの動作を制御します。 SCM_DO_BUILD_DURING_DEPLOYMENT
が true
に設定されている場合、プロジェクトはデプロイ中にリモートでビルドされます。
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_ENCODING
を 1
に設定すると、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 を示します。 AcrUseManagedIdentityCreds
を true
に設定する必要があります。 これらの値は有効です。
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
に格納されます。 仮想ネットワーク経由で関数アプリとコンテンツ共有の間でトラフィックをルーティングするには、vnetContentShareEnabled
を true
に設定する必要もあります。 エラスティック Premium および専用ホスティング プランでストレージ アカウントを仮想ネットワークに制限する場合は、このサイト プロパティを有効にする必要があります。
Note
同じプラン内の複数の関数アプリによって共有されているストレージ アカウント内のコンテンツ共有にルーティングする場合は、特別な注意を払う必要があります。 詳細については、ストレージに関する考慮事項の記事にある「仮想ネットワーク経由の一貫性のあるルーティング」を参照してください。
このサイト プロパティは、従来の WEBSITE_CONTENTOVERVNET
設定を置き換えます。
vnetImagePullEnabled
関数は、Linux コンテナーで実行されている関数アプリをサポートします。 仮想ネットワーク内のコンテナー レジストリから接続してプルするには、vnetImagePullEnabled
を true
に設定する必要があります。 このサイトのプロパティは、エラスティック 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 |
name の properties.functionAppConfig.runtime によって置き換えられました |
FUNCTIONS_WORKER_RUNTIME_VERSION |
version の properties.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 |
maximumInstanceCount の properties.functionAppConfig.scaleAndConcurrency によって置き換えられました |
WEBSITE_NODE_DEFAULT_VERSION |
version の properties.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 |
version の properties.functionAppConfig.runtime によって置き換えられました |
properties.LinuxFxVersion |
properties.functionAppConfig.runtime によって置き換えられました |
properties.netFrameworkVersion |
version の properties.functionAppConfig.runtime によって置き換えられました |
properties.powerShellVersion |
version の properties.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 |