Azure Functions 2.x の host.json のリファレンスhost.json reference for Azure Functions 2.x

host.json メタデータ ファイルには、関数アプリのすべての関数に影響するグローバル構成オプションが含まれています。The host.json metadata file contains global configuration options that affect all functions for a function app. この記事では、v2 ランタイムで使用できる設定の一覧を紹介します。This article lists the settings that are available for the v2 runtime.

注意

この記事は、Azure Functions 2.x を対象としています。This article is for Azure Functions 2.x. Functions 1.x の host.json のリファレンスについては、「host.json reference for Azure Functions 1.x (Azure Functions 1.x の host.json のリファレンス)」を参照してください。For a reference of host.json in Functions 1.x, see host.json reference for Azure Functions 1.x.

関数アプリの他の構成オプションは、アプリの設定で管理されます。Other function app configuration options are managed in your app settings.

host.json の一部の設定は、local.settings.json ファイルでローカルに実行するときにのみ使用されます。Some host.json settings are only used when running locally in the local.settings.json file.

サンプル host.json ファイルSample host.json file

次のサンプル host.json ファイルには、すべての使用できるオプションが指定されています。The following sample host.json files have all possible options specified.

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "extensions": {
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "logging": {
        "fileLoggingMode": "debugOnly",
        "logLevel": {
          "Function.MyFunction": "Information",
          "default": "None"
        },
        "applicationInsights": {
            "samplingSettings": {
              "isEnabled": true,
              "maxTelemetryItemsPerSecond" : 20
            }
        }
    },
    "managedDependency": {
        "enabled": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ]
}

この記事の次のセクションでは、最上位レベルの各プロパティについて説明します。The following sections of this article explain each top-level property. 特記がない場合は、いずれも省略可能です。All are optional unless otherwise indicated.

aggregatoraggregator

Application Insights のメトリックを計算するときに集計される関数呼び出しの数を指定します。Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
プロパティProperty 既定値Default 説明Description
batchSizebatchSize 10001000 集計する要求の最大数。Maximum number of requests to aggregate.
flushTimeoutflushTimeout 00:00:3000:00:30 集計する最長期間。Maximum time period to aggregate.

2 つの制限のいずれかに最初に達した場合、関数呼び出しが集計されます。Function invocations are aggregated when the first of the two limits are reached.

applicationInsightsapplicationInsights

この設定は logging の子です。This setting is a child of logging.

Application Insights のサンプリング機能を制御します。Controls the sampling feature in Application Insights.

{
    "applicationInsights": {
        "samplingSettings": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 20
        }
    }
}

注意

ログ サンプリングが原因で、一部の実行が Application Insights の [モニター] ブレードに表示されない場合があります。Log sampling may cause some executions to not show up in the Application Insights monitor blade.

プロパティProperty DefaultDefault 説明Description
isEnabledisEnabled truetrue サンプリングを有効または無効にします。Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 2020 サンプリングが開始されるしきい値。The threshold at which sampling begins.
EnableLiveMetricsEnableLiveMetrics truetrue ライブ メトリックの収集を有効にします。Enables live metrics collection.
EnableDependencyTrackingEnableDependencyTracking truetrue 依存関係の追跡を有効にします。Enables dependency tracking.
EnablePerformanceCountersCollectionEnablePerformanceCountersCollection truetrue Kudu パフォーマンス カウンターの収集を有効にします。Enables Kudu performance counters collection.

cosmosDbcosmosDb

構成設定は、Cosmos DB のトリガーとバインディングに関する記事に記載されています。Configuration setting can be found in Cosmos DB triggers and bindings.

durableTaskdurableTask

構成設定は、Durable Functions のバインディングに関する記事に記載されています。Configuration setting can be found in bindings for Durable Functions.

eventHubeventHub

構成設定は、Event Hub のトリガーとバインディングに関する記事に記載されています。Configuration settings can be found in Event Hub triggers and bindings.

拡張機能extensions

バインド固有の設定 (httpeventHub など) をすべて含むオブジェクトを返すプロパティ。Property that returns an object that contains all of the binding-specific settings, such as http and eventHub.

functionsfunctions

ジョブのホストが実行される関数の一覧。A list of functions that the job host runs. 空の配列は、すべての関数を実行することを示します。An empty array means run all functions. ローカルで実行する場合にのみ使用します。Intended for use only when running locally. Azure の関数アプリでは、この設定を使用する代わりに、「Azure Functions で関数を無効にする方法」の手順に従って、特定の関数を無効にする必要があります。In function apps in Azure, you should instead follow the steps in How to disable functions in Azure Functions to disable specific functions rather than using this setting.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeoutfunctionTimeout

すべての関数のタイムアウト期間を示します。Indicates the timeout duration for all functions. これは、期間文字列形式に従います。It follows the timespan string format. サーバーレス従量課金プランの有効な範囲は 1 秒から 10 分であり、既定値は 5 分です。In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes.
専用 (App Service) プランでは、全体的な制限はなく、既定値は 30 分です。In a Dedicated (App Service) plan, there is no overall limit, and the default value is 30 minutes. -1 は、無制限の実行を示します。A value of -1 indicates unbounded execution.

{
    "functionTimeout": "00:05:00"
}

healthMonitorhealthMonitor

ホストの正常性監視を行うための構成設定です。Configuration settings for Host health monitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
プロパティProperty DefaultDefault 説明Description
enabledenabled truetrue 機能が有効かどうかを指定します。Specifies whether the feature is enabled.
healthCheckIntervalhealthCheckInterval 10 秒10 seconds 定期的なバック グラウンドでの正常性チェックの間隔。The time interval between the periodic background health checks.
healthCheckWindowhealthCheckWindow 2 分2 minutes healthCheckThreshold 設定と組み合わせて使用するスライド時間枠。A sliding time window used in conjunction with the healthCheckThreshold setting.
healthCheckThresholdhealthCheckThreshold 66 正常性チェックの最大失敗回数。この回数を超えると、ホスト リサイクルが開始されます。Maximum number of times the health check can fail before a host recycle is initiated.
counterThresholdcounterThreshold 0.800.80 パフォーマンス カウンターが異常とみなされるしきい値。The threshold at which a performance counter will be considered unhealthy.

httphttp

構成設定は、HTTP トリガーとバインディングに関する記事に記載されています。Configuration settings can be found in http triggers and bindings.

logginglogging

Application Insights など、関数アプリのログの動作を制御します。Controls the logging behaviors of the function app, including Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly"
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
プロパティProperty DefaultDefault 説明Description
fileLoggingModefileLoggingMode debugOnlydebugOnly どのレベルでファイルのログ記録を有効にするかを定義します。Defines what level of file logging is enabled. オプションは、neveralwaysdebugOnly です。Options are never, always, debugOnly.
logLevellogLevel 該当なしn/a アプリ内の関数に対するログ カテゴリのフィルター処理を定義するオブジェクト。Object that defines the log category filtering for functions in the app. バージョン 2.x のログ カテゴリのフィルター処理は、ASP.NET Core のレイアウトに従います。Version 2.x follows the ASP.NET Core layout for log category filtering. これにより、特定の関数についてログをフィルター処理できます。This lets you filter logging for specific functions. 詳しくは、ASP.NET Core のドキュメントの「ログのフィルター処理」をご覧ください。For more information, see Log filtering in the ASP.NET Core documentation.
consoleconsole 該当なしn/a console ログ記録の設定。The console logging setting.
applicationInsightsapplicationInsights 該当なしn/a applicationInsights の設定。The applicationInsights setting.

consoleconsole

この設定は logging の子です。This setting is a child of logging. デバッグ モードでないときのコンソール ログ記録を制御します。It controls the console logging when not in debugging mode.

{
    "logging": {
    ...
        "console": {
          "isEnabled": "false"
        },
    ...
    }
}
プロパティProperty DefaultDefault 説明Description
isEnabledisEnabled falsefalse コンソール ログ記録を有効または無効にします。Enables or disables console logging.

managedDependencymanagedDependency

マネージド依存関係は、現在 PowerShell ベースの関数でのみサポートされている機能です。Managed dependency is a feature that is currently only supported with PowerShell based functions. この機能を使用すると、サービスによって依存関係を自動的に管理できます。It enables dependencies to be automatically managed by the service. enabled プロパティが true に設定されている場合は、requirements.psd1 ファイルが処理されます。When the enabled property is set to true, the requirements.psd1 file is processed. いずれかのマイナー バージョンがリリースされると、依存関係が更新されます。Dependencies are updated when any minor versions are released. 詳細については、PowerShell の記事のマネージド依存関係に関する記事をご覧ください。For more information, see Managed dependency in the PowerShell article.

{
    "managedDependency": {
        "enabled": true
    }
}

queuesqueues

構成設定は、Storage キュー トリガーとバインディングに関する記事に記載されています。Configuration settings can be found in Storage queue triggers and bindings.

sendGridsendGrid

構成設定は、SendGrid のトリガーとバインディングに関する記事に記載されています。Configuration setting can be found in SendGrid triggers and bindings.

serviceBusserviceBus

構成設定は、Service Bus のトリガーとバインディングに関する記事に記載されています。Configuration setting can be found in Service Bus triggers and bindings.

singletonsingleton

シングルトン ロック動作の構成設定。Configuration settings for Singleton lock behavior. 詳細については、「GitHub issue about singleton support」(シングルトンのサポートに関する GitHub の問題) を参照してください。For more information, see GitHub issue about singleton support.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
プロパティProperty DefaultDefault 説明Description
lockPeriodlockPeriod 00:00:1500:00:15 関数レベルのロックの取得期間。The period that function level locks are taken for. ロックの自動更新。The locks auto-renew.
listenerLockPeriodlistenerLockPeriod 00:01:0000:01:00 リスナーのロックの取得期間。The period that listener locks are taken for.
listenerLockRecoveryPollingIntervallistenerLockRecoveryPollingInterval 00:01:0000:01:00 スタートアップ時にリスナーのロックを獲得できなかった場合に、リスナーのロックの回復に使用される時間間隔。The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
lockAcquisitionTimeoutlockAcquisitionTimeout 00:01:0000:01:00 ランタイムがロックの獲得を試行する最長時間。The maximum amount of time the runtime will try to acquire a lock.
lockAcquisitionPollingIntervallockAcquisitionPollingInterval 該当なしn/a ロックの獲得の試行間隔。The interval between lock acquisition attempts.

versionversion

v2 ランタイムを対象とする関数アプリでは、バージョン文字列 "version": "2.0" が必要です。The version string "version": "2.0" is required for a function app that targets the v2 runtime.

watchDirectorieswatchDirectories

変更を監視する共有コード ディレクトリのセット。A set of shared code directories that should be monitored for changes. これらのディレクトリ内のコードを変更した場合に、関数によって変更を選択するようにします。Ensures that when code in these directories is changed, the changes are picked up by your functions.

{
    "watchDirectories": [ "Shared" ]
}

次の手順Next steps