host.json メタデータ ファイルには、関数アプリ インスタンス内のすべての関数に影響する構成オプションが含まれています。 この記事では、バージョン 1.x ランタイムで使用できる設定を示します。 JSON スキーマは、 http://json.schemastore.org/host にあります。
メモ
この記事は、Azure Functions 1.x を対象としています。 Functions 2.x 以降の host.json のリファレンスについては、Azure Functions 2.x の host.json のリファレンスに関する記事を参照してください。
関数アプリの他の構成オプションは、アプリの設定で管理されます。
host.json の一部の設定は、local.settings.json ファイルでローカルに実行するときにのみ使用されます。
サンプル host.json ファイル
次のサンプル host.json ファイルには、すべての使用できるオプションが指定されています。
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
},
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 20,
"maxConcurrentRequests": 10,
"dynamicThrottlesEnabled": false
},
"id": "9f4ea53c5136457d883d685e57164f08",
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
},
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
},
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
},
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
},
"watchDirectories": [ "Shared" ],
}
この記事の次のセクションでは、最上位レベルの各プロパティについて説明します。 特記がない場合は、いずれも省略可能です。
集約者
Application Insights のメトリックを計算するときに集計される関数呼び出しの数を指定します。
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| batchSize | 1000 | 集計する要求の最大数。 |
| flushTimeout | 00:00:30 | 集計する最長期間。 |
2 つの制限のいずれかに最初に達した場合、関数呼び出しが集計されます。
applicationInsights
Application Insights のサンプリング機能を制御します。
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| 有効化されている | ほんとう | サンプリングを有効または無効にします。 |
| maxTelemetryItemsPerSecond | 5 | サンプリングが開始されるしきい値。 |
DocumentDB
Azure Cosmos DB のトリガーとバインドの構成設定。
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| ゲートウェイモード | ゲートウェイ | Azure Cosmos DB サービスに接続する際に関数で使用される接続モード。 オプションは Direct と Gateway です |
| プロトコル | Https | Azure Cosmos DB サービスに接続する際に関数で使用される接続プロトコル。 両方のモードの説明についてはこちらを参照してください |
| leasePrefix | 該当なし | アプリ内のすべての関数で使用するプレフィックスをリースします。 |
durableTask
Durable Functions の構成設定。
メモ
Durable Functions のすべてのメジャー バージョンは、Azure Functions ランタイムのすべてのバージョンでサポートされています。 ただし、 host.json 構成のスキーマは、Azure Functions ランタイムのバージョンと使用する Durable Functions 拡張機能のバージョンによって若干異なります。
次のコードでは、durableTaskの設定の 2 つの例を示します。1 つは Durable Functions 2.x 用、1 つは Durable Functions 1.x 用です。 Azure Functions 2.0 と 3.0 では、両方の例を使用できます。 Azure Functions 1.0 では、使用可能な設定は同じですが、durableTask のセクションは、の下のフィールドではなくextensions 構成のルートにあります。
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"defaultVersion": "1.0",
"versionMatchStrategy": "CurrentOrOlder",
"versionFailureStrategy": "Reject",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"FetchLargeMessagesAutomatically": true,
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
"QueueClientMessageEncoding": "UTF8"
},
"tracing": {
"traceInputsAndOutputs": false,
"traceReplayEvents": false,
},
"notifications": {
"eventGrid": {
"topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
"keySettingName": "EventGridKey",
"publishRetryCount": 3,
"publishRetryInterval": "00:00:30",
"publishEventTypes": [
"Started",
"Completed",
"Failed",
"Terminated"
]
}
},
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10,
"maxConcurrentEntityFunctions": 10,
"extendedSessionsEnabled": false,
"extendedSessionIdleTimeoutInSeconds": 30,
"useAppLease": true,
"useGracefulShutdown": false,
"maxEntityOperationBatchSize": 50,
"maxOrchestrationActions": 100000,
"storeInputsInOrchestrationHistory": false
}
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| ハブ名 | TestHubName (v1.x の DurableFunctionsHub) | 関数アプリの現在の状態を格納するハブの名前。 タスク ハブの名前は、先頭文字をアルファベットとする必要があります。また、使用できるのはアルファベットと数値だけです。 名前を指定しない場合は、既定値が使用されます。 別のタスク ハブ名を使用すると、同じストレージ バックエンドを使用している場合でも、複数の Durable Functions アプリケーションを互いに分離できます。 詳細については、タスク ハブに関するページをご覧ください。 |
| defaultVersion | 新しいオーケストレーション インスタンスに割り当てる既定のバージョン。 バージョンを指定すると、新しいオーケストレーション インスタンスはこのバージョン値に永続的に関連付けられます。 この設定は、重大な変更を伴うダウンタイムなしのデプロイなどのシナリオを可能にするために、 オーケストレーションのバージョン管理 機能によって使用されます。 バージョンには任意の文字列値を使用できます。 | |
| versionMatchStrategy | 現在または旧バージョン | オーケストレーター関数の読み込み時のオーケストレーション バージョンの照合方法を指定する値。 有効な値は、None、Strict、および CurrentOrOlderです。 詳細については、「 オーケストレーションのバージョン管理」を参照してください。 |
| versionFailureStrategy | リジェクト | オーケストレーションバージョンが現在の defaultVersion 値と一致しない場合の動作を指定する値。 有効値は Reject または Fail です。 詳細については、「 オーケストレーションのバージョン管理」を参照してください。 |
| controlQueueBatchSize | 32 | コントロール キューから一度にプルするメッセージの数。 |
| controlQueueBufferThreshold |
Python の従量課金プラン: 32 他の言語の従量課金プラン: 128 専用プランまたは Premium プラン: 256 |
一度にメモリ内でバッファーに格納できる制御キュー メッセージの数。 指定した数に達すると、ディスパッチャーは他のメッセージをデキューする前に待機します。 状況によっては、この値を小さくすると、メモリ消費量が大幅に削減される場合があります。 |
| パーティション数 | 4 | コントロール キューのパーティション数。 この値は、1 ~ 16 の正の整数である必要があります。 この値を変更するには、新しいタスク ハブを構成する必要があります。 |
| キューの可視性タイムアウトを制御する | 00:05:00 | hh:mm:ss 形式でデキューされた制御キュー メッセージの可視性タイムアウト。 |
| workItemQueueVisibilityTimeout | 00:05:00 | デキューされた作業項目キュー メッセージのビジビリティタイムアウトは hh:mm:ss 形式です。 |
| FetchLargeMessagesAutomatically | ほんとう | オーケストレーション状態クエリで大きなメッセージを取得するかどうかを指定する値。 この設定を trueすると、キュー サイズの制限を超える大きなメッセージが取得されます。 この設定が falseされると、各大きなメッセージを指す BLOB URL が取得されます。 |
| maxConcurrentActivityFunctions |
消費プラン: 10 専用プランまたは Premium プラン: 現在のマシンのプロセッサ数の 10 倍 |
1 つのホスト インスタンスで同時に処理できるアクティビティ関数の最大数。 |
| maxConcurrentOrchestratorFunctions |
従量課金プラン: 5 専用プランまたは Premium プラン: 現在のマシンのプロセッサ数の 10 倍 |
1 つのホスト インスタンスで同時に処理できるオーケストレーター関数の最大数。 |
| maxConcurrentEntityFunctions |
従量課金プラン: 5 専用プランまたは Premium プラン: 現在のマシンのプロセッサ数の 10 倍 |
1 つのホスト インスタンスで同時に処理できるエンティティ関数の最大数。 この設定は、 持続的タスク スケジューラを使用する場合にのみ適用されます。 それ以外の場合、同時エンティティ実行の最大数は maxConcurrentOrchestratorFunctions 値に制限されます。 |
| maxQueuePollingInterval | 00:00:30 | hh:mm:ss 形式での制御の最大間隔および作業項目キューのポーリング間隔。 値が高くなるほどメッセージ処理の待機時間が長くなる可能性があります。 値が低くなるほどストレージ コストが高くなる可能性があります。これは、ストレージ トランザクションが増加するからです。 |
| maxOrchestrationActions | 100,000 | オーケストレーター関数が 1 回の実行サイクル中に実行できるアクションの最大数。 |
| connectionName (v2.7.0 以降) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage (AzureのWebジョブストレージ) | 基になる Azure Storage リソースへの接続方法を指定するアプリ設定または設定コレクションの名前。 1 つのアプリ設定を指定する場合は、Azure Storage 接続文字列にする必要があります。 |
| trackingStoreConnectionName (v2.7.0 以降) トラッキングストア接続文字列名 |
オーケストレーション インスタンスに関する実行履歴とメタデータを格納する History テーブルと Instances テーブルに接続する方法を指定するアプリ設定または設定コレクションの名前。 1 つのアプリ設定を指定する場合は、Azure Storage 接続文字列にする必要があります。 設定を指定しない場合は、 connectionStringName 値 (v2.x) または azureStorageConnectionStringName 値 (v1.x) 接続が使用されます。 |
|
| trackingStoreNamePrefix |
trackingStoreConnectionStringName が指定されているときに履歴テーブルとインスタンス テーブルに使用されるプレフィックス。 プレフィックスを指定しない場合は、 DurableTask の既定値が使用されます。
trackingStoreConnectionStringNameが指定されていない場合、履歴テーブルとインスタンス テーブルはプレフィックスとしてhubName値を使用し、trackingStoreNamePrefix設定は無視されます。 |
|
| 入力と出力の追跡 | 虚偽 | 関数呼び出しの入力と出力をトレースするかどうかを示す値。 関数実行イベントがトレースされる場合、既定の動作では、関数呼び出しのシリアル化された入力と出力にバイト数が含まれます。 この動作では、ログが肥大化したり、機密情報が誤って公開されたりしないように、入力と出力に関する最小限の情報が提供されます。 このプロパティを trueすると、関数の入力と出力の内容全体がログに記録されます。 |
| traceReplayEvents | 虚偽 | オーケストレーション再生イベントを Application Insights に書き込むかどうかを示す値。 |
| logReplayEvents | 虚偽 | 再生された実行をアプリケーション ログに記録するかどうかを示す値。 |
| イベントグリッドトピックエンドポイント (eventGridTopicEndpoint) | Azure Event Grid カスタム トピック エンドポイントの URL。 このプロパティを設定すると、オーケストレーション ライフサイクル通知イベントがこのエンドポイントに発行されます。 このプロパティは、アプリ設定の解決をサポートします。 | |
| イベントグリッドキー設定名 |
EventGridTopicEndpoint URL の Event Grid カスタム トピックでの認証に使用されるキーを含むアプリ設定の名前。 |
|
| eventGridPublishRetryCount | 0 | Event Grid トピックへの発行が失敗した場合に再試行する回数。 |
| eventGridPublishRetryInterval | 00:05:00 | Event Grid の発行と再試行の間隔 ( hh:mm:ss 形式)。 |
| イベントグリッド公開イベントタイプ | Event Grid に発行するイベントの種類の一覧。 型を指定しない場合、すべてのイベントの種類が発行されます。 使用できる値には、 Started、 Completed、 Failed、および Terminatedが含まれます。 |
|
| extendedSessionsEnabled | 虚偽 | セッション オーケストレーターとエンティティ関数セッションをキャッシュするかどうかを指定する値。 |
| extendedSessionIdleTimeoutInSeconds | 30 | アイドル状態のオーケストレーターまたはエンティティ関数がメモリ内に残ってからアンロードされるまでの秒数。 この設定は、 extendedSessionsEnabled 設定が trueされている場合にのみ使用されます。 |
| ユーズアップリース | ほんとう | アプリがタスク ハブ メッセージを処理する前にアプリ レベルの BLOB リースを取得する必要があるかどうかを示す値。 詳細については、「 Durable Functions でのディザスター リカバリーと geo 分散」を参照してください。 この設定は、v2.3.0 以降で使用できます。 |
| レガシーパーティション管理を使用する | 虚偽 | 使用するパーティション管理アルゴリズムの種類を指定する値。 この設定を falseすると、スケールアウト時に重複する関数が実行される可能性を減らすアルゴリズムが使用されます。この設定は、v2.3.0 以降で使用できます。
この値を true に設定することはお勧めしません。 |
| テーブルパーティション管理の使用 (useTablePartitionManagement) | v3.x の場合: true v2.x の場合: false |
使用するパーティション管理アルゴリズムの種類を指定する値。 この設定を trueすると、Azure Storage v2 アカウントのコストを削減するように設計されたアルゴリズムが使用されます。 この設定は、WebJobs.Extensions.DurableTask v2.10.0 以降で使用できます。 マネージド ID でこの設定を使用するには、WebJobs.Extensions.DurableTask v3.x 以降、または Worker.Extensions.DurableTask v1.2.x 以降が必要です。 |
| useGracefulShutdown | 虚偽 | (プレビュー)インプロセス関数の実行が失敗する原因となるホストのシャットダウンの可能性を減らすために、正常にシャットダウンするかどうかを示す値。 |
| maxEntityOperationBatchSize (最大エンティティ操作バッチサイズ) |
消費プラン: 50 専用プランまたは Premium プラン: 5,000 |
バッチとして処理されるエンティティ操作の最大数。 この値が 1 の場合、バッチ処理は無効になり、個別の関数呼び出しによって各操作メッセージが処理されます。 この設定は、v2.6.1 以降で使用できます。 |
| オーケストレーション履歴に入力を保存する | 虚偽 | 入力の格納方法を指定する値。 この設定を trueすると、Durable Task Framework によってアクティビティ入力が履歴テーブルに保存され、アクティビティ関数の入力がオーケストレーション履歴のクエリ結果に表示されます。 |
| maxGrpcMessageSizeInBytes(最大GRPCメッセージサイズバイト単位) | 4,194,304 | 汎用リモート プロシージャ コール (gRPC) クライアントが受信できるメッセージの最大サイズ (バイト単位) を設定する整数値。
DurableTaskClientの実装では、gRPC クライアントを使用してオーケストレーション インスタンスを管理します。 この設定は、Durable Functions の .NET 分離型ワーカーアプリと Java アプリに適用されます。 |
| grpcHttpClientTimeout | 00:01:40 | Durable Functions の gRPC クライアントによって使用される HTTP クライアントの hh:mm:ss 形式のタイムアウト。 クライアントは現在、.NET 分離ワーカー アプリ (.NET 6 以降のバージョン) と Java アプリでサポートされています。 |
| QueueClientMessageEncoding | UTF8 | Azure Queue Storage メッセージのエンコード戦略。 有効な戦略は、Unicode 変換形式 -8 ビット (UTF8) と Base64 です。 この設定は、Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 以降、または Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 以降を使用する場合に適用されます。 |
これらの設定の多くはパフォーマンスの最適化を目的としています。 詳細については、「パフォーマンスと拡張性」を参照してください。
eventHub
Event Hub トリガーとバインディングの構成設定。
functions
ジョブのホストが実行される関数の一覧。 空の配列は、すべての関数を実行することを示します。 ローカルで実行する場合にのみ使用します。 Azure の関数アプリでは、この設定を使用する代わりに、「Azure Functions で関数を無効にする方法」の手順に従って、特定の関数を無効にする必要があります。
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
すべての関数のタイムアウト期間を示します。 サーバーレス従量課金プランの有効な範囲は 1 秒から 10 分であり、既定値は 5 分です。 App Service プランに全体的な制限はありません。既定は null です (タイムアウトなしを示します)。
{
"functionTimeout": "00:05:00"
}
ヘルスモニター
ホストの正常性監視を行うための構成設定です。
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| enabled | ほんとう | 機能が有効かどうかを指定します。 |
| ヘルスチェック間隔 | 10 秒 | バックグラウンドでの定期的な正常性チェックの時間間隔。 |
| ヘルスチェックウィンドウ | 2 分 |
healthCheckThreshold 設定で使用されるスライド時間枠。 |
| ヘルスチェック閾値 | 6 | 正常性チェックの最大失敗回数。この回数を超えると、ホスト リサイクルが開始します。 |
| counterThreshold | 0.80 | パフォーマンス カウンターが異常とみなされるしきい値。 |
http
http トリガーとバインディングの構成設定。
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| dynamicThrottlesEnabled(動的スロットルの有効化) | 虚偽 | この設定を有効にすると、要求処理パイプラインが、システム パフォーマンス カウンター (接続、スレッド、プロセス、メモリ、CPU など) を定期的にチェックし、カウンターのいずれかが組み込まれた上限閾値 (80%) を超えた場合は、カウンターが正常なレベルに戻るまで要求は 429 "Too Busy" 応答で拒否されます。 |
| maxConcurrentRequests | 無制限 (-1) |
並列で実行される HTTP 関数の最大数。 これによりコンカレンシーを制御でき、リソース使用率の管理に役立ちます。 たとえば、多くのシステム リソース (メモリ、CPU、ソケット) を消費する HTTP 関数があった場合、コンカレンシー率が高すぎると問題が発生します。 または、サードパーティのサービスに対して要求を送信する関数があり、その呼び出し速度を制限する必要がある場合です。 このような場合は、調整を適用することができます。 |
| maxOutstandingRequests | 無制限 (-1) |
特定の時点で保持される未処理の要求の最大数。 この制限には、キューに格納され、まだ実行が開始されていない要求と、処理中の実行が含まれます。 この制限を超える受信要求は、429 "Too Busy" 応答で拒否されます。 これにより、呼び出し元は時間ベースの再試行戦略を採用でき、要求の最大待機時間の制御にも役立ちます。 この設定は、スクリプト ホストの実行パス内で発生するキューのみを制御します。 ASP.NET 要求キューなどの他のキューは有効なままで、この設定の影響を受けません。 |
| routePrefix | エーピーアイ | すべてのルートに適用されるルート プレフィックス。 既定のプレフィックスを削除するには、空の文字列を使用します。 |
id
ジョブ ホストの一意の ID。 ダッシュを削除した小文字の GUID を指定できます。 ローカルで実行しているときに必要です。 Azure で実行するときは、ID 値を設定しないことをお勧めします。
id を省略すると、ID は Azure で自動的に生成されます。
ストレージ アカウントを複数の関数アプリで共有している場合は、各関数アプリの id がそれぞれ異なることを確認してください。
id プロパティは省略することができます。または、各関数アプリの id を手動でそれぞれ異なる値に設定することもできます。 1 つの関数アプリが複数のインスタンスにスケール アウトする場合、タイマー インスタンスが 1 しか存在しないようにするために、タイマー トリガーではストレージ ロックが使用されます。 2 つの関数アプリが同じ id を共有していて、それぞれタイマー トリガーを使用している場合は、1 つのタイマーのみが実行されます。
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
ロガー
ILogger オブジェクトまたは context.log によって書き込まれたログのフィルター処理を制御します。
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| カテゴリフィルター | 該当なし | カテゴリ別のフィルターを指定します |
| デフォルトレベル | 情報 |
categoryLevels 配列に指定されていないカテゴリの場合、このレベル以上のログを Application Insights に送信します。 |
| categoryLevels | 該当なし | 各カテゴリの Application Insights に送信される最小ログ レベルを指定するカテゴリの配列。 ここで指定されるカテゴリは、同じ値で始まるすべてのカテゴリを制御し、長い値の方が優先されます。 前述のサンプル host.json ファイルでは、すべての "Host.Aggregator" で始まるカテゴリが Information レベルでログされます。 "Host.Executor" のように "Host" で始まるすべてのその他のカテゴリは、Error レベルでログに記録されます。 |
queues
ストレージ キューのトリガーとバインディングに関する構成設定。
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| 最大ポーリング間隔 | 60000 | キューのポーリングの最大間隔 (ミリ秒)。 |
| visibilityTimeout | 0 | メッセージの処理が失敗したときの再試行間隔。 |
| batchSize | 16 | Functions ランタイムが同時に取得して並列で処理するキュー メッセージの数。 処理中のメッセージの数が newBatchThreshold まで減少すると、ランタイムは は別のバッチを取得し、そのメッセージの処理を開始します。 そのため、1 つの関数につき同時に処理されるメッセージの最大数は、batchSize に newBatchThreshold を加えた値です。 この制限は、キューによってトリガーされる各関数に個別に適用されます。 1 つのキューで受信した複数のメッセージの並列実行を回避したい場合は、 batchSize を 1 に設定します。 ただし、この設定では、関数アプリが単一の仮想マシン (VM) で実行されている限り、コンカレンシーは実現しません。 この関数アプリを複数の VM にスケール アウトすると、各 VM では、キューによってトリガーされる関数ごとに 1 つのインスタンスを実行できます。最大の batchSize は 32 です。 |
| maxDequeueCount | 5 | 有害キューに移動する前に、メッセージの処理を試行する回数。 |
| newBatchThreshold | batchSize/2 | 同時に処理されているメッセージの数がこの数まで減少すると、ランタイムは別のバッチを取得します。 |
SendGrid
SendGrind 出力バインドの構成設定
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| from | 該当なし | すべての機能での送信者のメールアドレス。 |
serviceBus
Service Bus トリガーとバインディングの構成設定。
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| maxConcurrentCalls | 16 | メッセージポンプが開始すべきコールバックの同時呼び出しの最大数 既定では、Functions ランタイムは、複数のメッセージを同時に処理します。 一度に 1 つのキューまたはトピックのメッセージのみを処理するようにランタイムに指示するには、maxConcurrentCalls を 1 に設定します。 |
| prefetchCount | 該当なし | 基本の PrefetchCount は、背後にある ServiceBusReceiver によって使用されます。 |
| autoRenewTimeout | 00:05:00 | メッセージ ロックが自動的に更新される最大間隔。 |
| autoComplete | ほんとう | true の場合、操作が正常に実行されたときにトリガーがメッセージの処理を自動的に完了します。 false の場合、返す前にメッセージを完了するのは関数の役割です。 |
singleton
シングルトン ロック動作の構成設定。 詳細については、「GitHub issue about singleton support」(シングルトンのサポートに関する GitHub の問題) を参照してください。
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| ロック期間 | 00:00:15 | 関数レベルのロックの取得期間。 ロックは自動で更新されます。 |
| リスナーロック期間 (listenerLockPeriod) | 00:01:00 | リスナーのロックの取得期間。 |
| listenerLockRecoveryPollingInterval | 00:01:00 | スタートアップ時にリスナーのロックを獲得できなかった場合に、リスナーのロックの回復に使用される時間間隔。 |
| lockAcquisitionTimeout | 00:01:00 | ランタイムがロックを獲得しようとする時間の最大値。 |
| lockAcquisitionPollingInterval | 該当なし | ロック取得の試行の間隔。 |
トレース
バージョン 1.x
TraceWriter オブジェクトを使用して作成するログの構成設定。 詳細については、[C# のログの記録] を参照してください。
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| プロパティ | 既定値 | 説明 |
|---|---|---|
| consoleLevel | info | コンソールログのトレースレベル設定。 オプションは、off、error、warning、info、および verbose です。 |
| fileLoggingMode | デバッグ専用 | ファイルログのトレースレベル。 オプションは、never、always、debugOnly です。 |
watchDirectories
変更を監視する共有コード ディレクトリのセット。 このディレクトリ内のコードを変更した場合に、関数によって変更が選択されるようにします。
{
"watchDirectories": [ "Shared" ]
}