Azure Functions 2.x 이상에 대한 host.json 참조host.json reference for Azure Functions 2.x and later

host.json 메타데이터 파일에는 함수 앱의 모든 함수에 영향을 주는 전역 구성 옵션이 포함됩니다.The host.json metadata file contains global configuration options that affect all functions for a function app. 이 문서에서는 Azure Functions 런타임의 버전 2.x부터 사용 가능한 설정을 나열 합니다.This article lists the settings that are available starting with version 2.x of the Azure Functions runtime.

참고

이 문서는 Azure Functions 2.x 이상 버전에 대 한 것입니다.This article is for Azure Functions 2.x and later versions. Functions 1.x에서 host.json의 참조는 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.

다른 함수 앱 구성 옵션은 앱 설정 (배포 된 앱의 경우) 또는 파일 에local.settings.js (로컬 개발용)에서 관리 됩니다.Other function app configuration options are managed in your app settings (for deployed apps) or your local.settings.json file (for local development).

바인딩과 관련 된 host.js의 구성은 함수 앱의 각 함수에 동일 하 게 적용 됩니다.Configurations in host.json related to bindings are applied equally to each function in the function app.

또한 응용 프로그램 설정을 사용 하 여 환경 마다 설정을 재정의 하거나 적용할 수 있습니다.You can also override or apply settings per environment using application settings.

샘플 host.json 파일Sample host.json file

다음 샘플에서는 버전 2.x에 대 한 파일 * 에host.js* 모든 가능한 옵션이 지정 되어 있습니다 (내부용 으로만 사용 되는 경우 제외).The following sample host.json file for version 2.x+ has all possible options specified (excluding any that are for internal use only).

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "extensions": {
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    },
    "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,
              "evaluationInterval": "01:00:00",
              "initialSamplingPercentage": 100.0, 
              "samplingPercentageIncreaseTimeout" : "00:00:01",
              "samplingPercentageDecreaseTimeout" : "00:00:01",
              "minSamplingPercentage": 0.1,
              "maxSamplingPercentage": 100.0,
              "movingAverageRatio": 1.0,
              "excludedTypes" : "Dependency;Event",
              "includedTypes" : "PageView;Trace"
            },
            "enableLiveMetrics": true,
            "enableDependencyTracking": true,
            "enablePerformanceCountersCollection": true,            
            "httpAutoCollectionOptions": {
                "enableHttpTriggerExtendedInfoCollection": true,
                "enableW3CDistributedTracing": true,
                "enableResponseHeaderInjection": true
            },
            "snapshotConfiguration": {
                "agentEndpoint": null,
                "captureSnapshotMemoryWeight": 0.5,
                "failedRequestLimit": 3,
                "handleUntrackedExceptions": true,
                "isEnabled": true,
                "isEnabledInDeveloperMode": false,
                "isEnabledWhenProfiling": true,
                "isExceptionSnappointsEnabled": false,
                "isLowPrioritySnapshotUploader": true,
                "maximumCollectionPlanSize": 50,
                "maximumSnapshotsRequired": 3,
                "problemCounterResetInterval": "24:00:00",
                "provideAnonymousTelemetry": true,
                "reconnectInterval": "00:15:00",
                "shadowCopyFolder": null,
                "shareUploaderProcess": true,
                "snapshotInLowPriorityThread": true,
                "snapshotsPerDayLimit": 30,
                "snapshotsPerTenMinutesLimit": 1,
                "tempFolder": null,
                "thresholdForSnapshotting": 1,
                "uploaderProxy": null
            }
        }
    },
    "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 DescriptionDescription
batchSizebatchSize 10001000 집계할 최대 요청 수입니다.Maximum number of requests to aggregate.
flushTimeoutflushTimeout 00:00:3000:00:30 집계할 최대 기간입니다.Maximum time period to aggregate.

함수 호출은 두 개의 한도 중 첫 번째 한에 도달할 때 집계됩니다.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 options for Application Insights, including sampling options.

전체 JSON 구조는 이전 예제 파일 host.js를 참조 하세요.For the complete JSON structure, see the earlier example host.json file.

참고

로그 샘플링으로 인해 Application Insights 모니터 블레이드에 일부 실행이 표시되지 않을 수 있습니다.Log sampling may cause some executions to not show up in the Application Insights monitor blade. 로그 샘플링을 방지 하려면 excludedTypes: "Request" 값에를 추가 samplingSettings 합니다.To avoid log sampling, add excludedTypes: "Request" to the samplingSettings value.

속성Property 기본값Default DescriptionDescription
samplingSettingssamplingSettings 해당 없음n/a Applicationinsights. samplingSettings를 참조 하세요.See applicationInsights.samplingSettings.
enableLiveMetricsenableLiveMetrics truetrue 라이브 메트릭 수집을 사용 하도록 설정 합니다.Enables live metrics collection.
enableDependencyTrackingenableDependencyTracking truetrue 종속성 추적을 사용 합니다.Enables dependency tracking.
enablePerformanceCountersCollectionenablePerformanceCountersCollection truetrue Kudu 성능 카운터 수집을 사용 하도록 설정 합니다.Enables Kudu performance counters collection.
liveMetricsInitializationDelayliveMetricsInitializationDelay 00:00:1500:00:15 내부 전용입니다.For internal use only.
httpAutoCollectionOptionshttpAutoCollectionOptions 해당 없음n/a Applicationinsights를 참조 하세요.See applicationInsights.httpAutoCollectionOptions.
snapshotConfigurationsnapshotConfiguration 해당 없음n/a Applicationinsights를 참조 하세요.See applicationInsights.snapshotConfiguration.

applicationInsights. samplingSettingsapplicationInsights.samplingSettings

속성Property 기본값Default DescriptionDescription
isEnabledisEnabled truetrue 샘플링을 사용 여부를 설정합니다.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 2020 각 서버 호스트에서 초당 기록한 원격 분석 항목의 수입니다.The target number of telemetry items logged per second on each server host. 앱이 여러 호스트에서 실행 되는 경우이 값을 줄여서 전체 대상 트래픽 요금 내에 유지 합니다.If your app runs on many hosts, reduce this value to remain within your overall target rate of traffic.
evaluationIntervalevaluationInterval 01:00:0001:00:00 현재 원격 분석 속도를 다시 평가 하는 간격입니다.The interval at which the current rate of telemetry is reevaluated. 평가는 이동 평균으로 수행됩니다.Evaluation is performed as a moving average. 원격 분석이 급격히 증가하는 경우 이 간격을 줄일 수 있습니다.You might want to shorten this interval if your telemetry is liable to sudden bursts.
initialSamplingPercentageinitialSamplingPercentage 100.0100.0 백분율을 동적으로 변경 하기 위해 샘플링 프로세스가 시작 될 때 적용 되는 초기 샘플링 비율입니다.The initial sampling percentage applied at the start of the sampling process to dynamically vary the percentage. 디버깅 하는 동안 값을 줄이지 마십시오.Don't reduce value while you're debugging.
samplingPercentageIncreaseTimeoutsamplingPercentageIncreaseTimeout 00:00:0100:00:01 샘플링 비율 값이 변경 되 면이 속성은 이후 Application Insights에서 더 많은 데이터를 캡처하기 위해 샘플링 비율을 다시 발생 시킬 수 있는 시간을 결정 합니다.When the sampling percentage value changes, this property determines how soon afterwards Application Insights is allowed to raise sampling percentage again to capture more data.
samplingPercentageDecreaseTimeoutsamplingPercentageDecreaseTimeout 00:00:0100:00:01 샘플링 비율 값이 변경 되 면이 속성은 더 적은 데이터를 캡처하기 위해 샘플링 비율을 다시 낮출 수 있는 Application Insights 시간을 결정 합니다.When the sampling percentage value changes, this property determines how soon afterwards Application Insights is allowed to lower sampling percentage again to capture less data.
minSamplingPercentageminSamplingPercentage 0.10.1 샘플링 비율이 변경 됨에 따라이 속성은 허용 되는 최소 샘플링 비율을 결정 합니다.As sampling percentage varies, this property determines the minimum allowed sampling percentage.
maxSamplingPercentagemaxSamplingPercentage 100.0100.0 샘플링 비율이 변경 됨에 따라이 속성은 허용 되는 최대 샘플링 비율을 결정 합니다.As sampling percentage varies, this property determines the maximum allowed sampling percentage.
movingAverageRatiomovingAverageRatio 1.01.0 이동 평균 계산에서 가중치는 가장 최근의 값에 할당됩니다.In the calculation of the moving average, the weight assigned to the most recent value. 1보다 작거나 같은 값을 사용합니다.Use a value equal to or less than 1. 값이 작을수록 알고리즘은 갑작스런 변화에 덜 반응합니다.Smaller values make the algorithm less reactive to sudden changes.
excludedTypesexcludedTypes nullnull 샘플링 하지 않으려는 형식의 세미콜론으로 구분 된 목록입니다.A semi-colon delimited list of types that you don't want to be sampled. 인식 되는 형식은 Dependency , Event , Exception , PageView , RequestTrace 입니다.Recognized types are: Dependency, Event, Exception, PageView, Request, and Trace. 지정 된 형식의 모든 인스턴스가 전송 됩니다. 지정 되지 않은 형식이 샘플링 됩니다.All instances of the specified types are transmitted; the types that aren't specified are sampled.
includedTypesincludedTypes nullnull 샘플링할 형식의 세미콜론으로 구분 된 목록입니다. 빈 목록은 모든 형식을 의미 합니다.A semi-colon delimited list of types that you want to be sampled; an empty list implies all types. excludedTypes여기에 나열 된 재정의 형식에 나열 된 유형입니다.Type listed in excludedTypes override types listed here. 인식 되는 형식은 Dependency , Event , Exception , PageView , RequestTrace 입니다.Recognized types are: Dependency, Event, Exception, PageView, Request, and Trace. 지정 된 형식의 인스턴스가 샘플링 됩니다. 지정 되지 않았거나 암시 되지 않은 형식은 샘플링 없이 전송 됩니다.Instances of the specified types are sampled; the types that aren't specified or implied are transmitted without sampling.

httpAutoCollectionOptionsapplicationInsights.httpAutoCollectionOptions

속성Property 기본값Default DescriptionDescription
enableHttpTriggerExtendedInfoCollectionenableHttpTriggerExtendedInfoCollection truetrue HTTP 트리거에 대 한 확장 된 HTTP 요청 정보를 사용 하거나 사용 하지 않도록 설정 합니다. 들어오는 요청 상관 관계 헤더, 다중 계측 키 지원, HTTP 메서드, 경로 및 응답입니다.Enables or disables extended HTTP request information for HTTP triggers: incoming request correlation headers, multi-instrumentation keys support, HTTP method, path, and response.
enableW3CDistributedTracingenableW3CDistributedTracing truetrue W3C 분산 추적 프로토콜을 지원 하거나 사용 하지 않도록 설정 하 고 레거시 상관 관계 스키마를 설정 합니다.Enables or disables support of W3C distributed tracing protocol (and turns on legacy correlation schema). 이 true 인 경우 기본적으로 사용 하도록 설정 enableHttpTriggerExtendedInfoCollection 됩니다.Enabled by default if enableHttpTriggerExtendedInfoCollection is true. enableHttpTriggerExtendedInfoCollection false 인 경우이 플래그는 들어오는 요청에만 적용 되 고 들어오는 요청에는 적용 되지 않습니다.If enableHttpTriggerExtendedInfoCollection is false, this flag applies to outgoing requests only, not incoming requests.
enableResponseHeaderInjectionenableResponseHeaderInjection truetrue 다중 구성 요소 상관 관계 헤더의 삽입을 응답으로 사용 하거나 사용 하지 않도록 설정 합니다.Enables or disables injection of multi-component correlation headers into responses. 주입을 사용 하도록 설정 하면 여러 개의 계측 키를 사용할 때 응용 프로그램을 구성 하 Application Insights 수 있습니다.Enabling injection allows Application Insights to construct an Application Map to when several instrumentation keys are used. 이 true 인 경우 기본적으로 사용 하도록 설정 enableHttpTriggerExtendedInfoCollection 됩니다.Enabled by default if enableHttpTriggerExtendedInfoCollection is true. 가 false 인 경우에는이 설정이 적용 되지 않습니다 enableHttpTriggerExtendedInfoCollection .This setting doesn't apply if enableHttpTriggerExtendedInfoCollection is false.

snapshotConfigurationapplicationInsights.snapshotConfiguration

스냅숏에 대 한 자세한 내용은 .net 앱의 예외에 대 한 스냅숏 디버그Application Insights 스냅숏 디버거 또는 스냅숏 보기를 사용 하도록 설정 하는 문제 해결을 참조 하세요.For more information on snapshots, see Debug snapshots on exceptions in .NET apps and Troubleshoot problems enabling Application Insights Snapshot Debugger or viewing snapshots.

속성Property 기본값Default DescriptionDescription
agentEndpointagentEndpoint nullnull Application Insights 스냅숏 디버거 서비스에 연결 하는 데 사용 되는 끝점입니다.The endpoint used to connect to the Application Insights Snapshot Debugger service. Null 인 경우 기본 끝점이 사용 됩니다.If null, a default endpoint is used.
captureSnapshotMemoryWeightcaptureSnapshotMemoryWeight 0.50.5 스냅숏을 만들기에 충분 한 메모리가 있는지 확인할 때 현재 프로세스 메모리 크기에 지정 된 가중치입니다.The weight given to the current process memory size when checking if there's enough memory to take a snapshot. 예상 값은 적절 한 소수 부분 (0 < CaptureSnapshotMemoryWeight < 1) 보다 큽니다.The expected value is a greater than 0 proper fraction (0 < CaptureSnapshotMemoryWeight < 1).
failedRequestLimitfailedRequestLimit 33 원격 분석 프로세서를 사용 하지 않도록 설정 하기 전에 스냅숏을 요청 하는 데 실패 한 요청 수에 대 한 제한입니다.The limit on the number of failed requests to request snapshots before the telemetry processor is disabled.
handleUntrackedExceptionshandleUntrackedExceptions truetrue Application Insights 원격 분석에서 추적 하지 않는 예외 추적을 사용 하거나 사용 하지 않도록 설정 합니다.Enables or disables tracking of exceptions that aren't tracked by Application Insights telemetry.
isEnabledisEnabled truetrue 스냅숏 수집을 사용 하거나 사용 하지 않도록 설정 합니다.Enables or disables snapshot collection
isEnabledInDeveloperModeisEnabledInDeveloperMode falsefalse 개발자 모드에서 스냅숏 컬렉션을 사용 하거나 사용 하지 않도록 설정 합니다.Enables or disables snapshot collection is enabled in developer mode.
isEnabledWhenProfilingisEnabledWhenProfiling truetrue Application Insights Profiler에서 자세한 프로 파일링 세션을 수집 하는 경우에도 스냅숏 만들기를 사용 하거나 사용 하지 않도록 설정 합니다.Enables or disables snapshot creation even if the Application Insights Profiler is collecting a detailed profiling session.
isExceptionSnappointsEnabledisExceptionSnappointsEnabled falsefalse 예외 필터링을 사용 하거나 사용 하지 않도록 설정 합니다.Enables or disables filtering of exceptions.
isLowPrioritySnapshotUploaderisLowPrioritySnapshotUploader truetrue SnapshotUploader 프로세스를 보통 우선 순위로 실행할지 여부를 결정 합니다.Determines whether to run the SnapshotUploader process at below normal priority.
Maximumcollection설계도 크기maximumCollectionPlanSize 5050 1에서 9999 사이의 범위에서 언제 든 지 추적할 수 있는 최대 문제 수입니다.The maximum number of problems that we can track at any time in a range from one to 9999.
maximumSnapshotsRequiredmaximumSnapshotsRequired 33 1 ~ 999 범위에서 단일 문제에 대해 수집 된 최대 스냅숏 수입니다.The maximum number of snapshots collected for a single problem, in a range from one to 999. 응용 프로그램에서 개별 throw 문으로 문제를 생각할 수 있습니다.A problem may be thought of as an individual throw statement in your application. 문제에 대해 수집 된 스냅숏 수가이 값에 도달 하면 문제 카운터가 다시 설정 될 때까지 해당 문제에 대 한 스냅숏이 더 이상 수집 되지 않습니다 (참조 problemCounterResetInterval ) thresholdForSnapshotting . 제한에 다시 도달 합니다.Once the number of snapshots collected for a problem reaches this value, no more snapshots will be collected for that problem until problem counters are reset (see problemCounterResetInterval) and the thresholdForSnapshotting limit is reached again.
problemCounterResetIntervalproblemCounterResetInterval 24:00:0024:00:00 1 분에서 7 일 사이에 문제 카운터를 다시 설정 하는 빈도입니다.How often to reset the problem counters in a range from one minute to seven days. 이 간격에 도달 하면 모든 문제 수가 0으로 다시 설정 됩니다.When this interval is reached, all problem counts are reset to zero. 스냅숏 수행에 대 한 임계값에 이미 도달 했지만에서 스냅숏 수를 아직 생성 하지 않은 기존 문제는 maximumSnapshotsRequired 활성 상태로 유지 됩니다.Existing problems that have already reached the threshold for doing snapshots, but haven't yet generated the number of snapshots in maximumSnapshotsRequired, remain active.
provideAnonymousTelemetryprovideAnonymousTelemetry truetrue 익명 사용 및 오류 원격 분석을 Microsoft로 보낼지 여부를 결정 합니다.Determines whether to send anonymous usage and error telemetry to Microsoft. Microsoft에 문의 하 여 스냅숏 디버거 문제를 해결 하는 데 도움이 되는 경우이 원격 분석을 사용할 수 있습니다.This telemetry may be used if you contact Microsoft to help troubleshoot problems with the Snapshot Debugger. 사용 패턴을 모니터링 하는 데도 사용 됩니다.It is also used to monitor usage patterns.
reconnectIntervalreconnectInterval 00:15:0000:15:00 스냅숏 디버거 끝점에 다시 연결 하는 빈도입니다.How often we reconnect to the Snapshot Debugger endpoint. 허용 되는 범위는 1 분에서 1 일 사이입니다.Allowable range is one minute to one day.
shadowCopyFoldershadowCopyFolder nullnull 이진 파일을 섀도 복사 하는 데 사용할 폴더를 지정 합니다.Specifies the folder to use for shadow copying binaries. 설정 하지 않은 경우 다음 환경 변수에 지정 된 폴더는 Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP 순서로 시도 됩니다.If not set, the folders specified by the following environment variables are tried in order: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.
shareUploaderProcessshareUploaderProcess truetrue True 이면 SnapshotUploader의 한 인스턴스만 InstrumentationKey을 공유 하는 여러 앱에 대 한 스냅숏을 수집 하 고 업로드 합니다.If true, only one instance of SnapshotUploader will collect and upload snapshots for multiple apps that share the InstrumentationKey. False로 설정 하면 각 (ProcessName, InstrumentationKey) 튜플에 대해 SnapshotUploader가 고유 합니다.If set to false, the SnapshotUploader will be unique for each (ProcessName, InstrumentationKey) tuple.
snapshotInLowPriorityThreadsnapshotInLowPriorityThread truetrue 낮은 IO 우선 순위 스레드에서 스냅숏 처리 여부를 결정 합니다.Determines whether or not to process snapshots in a low IO priority thread. 스냅숏 만들기는 빠른 작업 이지만, 스냅숏을 스냅숏 디버거 서비스에 업로드 하려면 먼저 디스크에 미니 덤프로 써야 합니다.Creating a snapshot is a fast operation but, in order to upload a snapshot to the Snapshot Debugger service, it must first be written to disk as a minidump. SnapshotUploader 프로세스에서 발생 합니다.That happens in the SnapshotUploader process. 이 값을 true로 설정 하면 우선 순위가 낮은 IO를 사용 하 여 리소스에 대 한 응용 프로그램과 경쟁 하지 않는 미니 덤프를 작성 합니다.Setting this value to true uses low-priority IO to write the minidump, which won't compete with your application for resources. 이 값을 false로 설정 하면 응용 프로그램의 속도가 느려지는 대신 미니 덤프 생성 속도가 빨라집니다.Setting this value to false speeds up minidump creation at the expense of slowing down your application.
snapshotsPerDayLimitsnapshotsPerDayLimit 3030 1 일 (24 시간)에 허용 되는 최대 스냅숏 수입니다.The maximum number of snapshots allowed in one day (24 hours). 이 제한은 Application Insights 서비스 쪽에도 적용 됩니다.This limit is also enforced on the Application Insights service side. 업로드는 응용 프로그램 (즉, 계측 키 당) 당 50로 제한 됩니다.Uploads are rate limited to 50 per day per application (that is, per instrumentation key). 이 값을 사용 하면 업로드 중에 결국 거부 될 추가 스냅숏이 생성 되지 않습니다.This value helps prevent creating additional snapshots that will eventually be rejected during upload. 값이 0 이면 제한을 완전히 제거 하지 않는 것이 좋습니다.A value of zero removes the limit entirely, which isn't recommended.
snapshotsPerTenMinutesLimitsnapshotsPerTenMinutesLimit 11 10 분 내에 허용 되는 최대 스냅숏 수입니다.The maximum number of snapshots allowed in 10 minutes. 이 값에 상한이 없지만 응용 프로그램의 성능에 영향을 줄 수 있으므로 프로덕션 워크 로드에 대해 주의를 기울여야 합니다.Although there is no upper bound on this value, exercise caution increasing it on production workloads because it could impact the performance of your application. 스냅숏 만들기는 빠르지만 스냅숏의 미니 덤프를 만들어 스냅숏 디버거 서비스에 업로드 하는 작업은 리소스 (CPU 및 i/o 모두)에 대해 응용 프로그램과 경쟁 하는 훨씬 느린 작업입니다.Creating a snapshot is fast, but creating a minidump of the snapshot and uploading it to the Snapshot Debugger service is a much slower operation that will compete with your application for resources (both CPU and I/O).
ttempFolder nullnull 미니 덤프 및 업 로더 로그 파일을 쓸 폴더를 지정 합니다.Specifies the folder to write minidumps and uploader log files. 설정 하지 않으면 %TEMP%\Dumps 가 사용 됩니다.If not set, then %TEMP%\Dumps is used.
Thresholdforsnapshotting은thresholdForSnapshotting 11 Application Insights에서 스냅숏을 요청 하기 전에 예외가 표시 되어야 하는 횟수입니다.How many times Application Insights needs to see an exception before it asks for snapshots.
uploaderProxyuploaderProxy nullnull 스냅숏 업 로더 프로세스에서 사용 되는 프록시 서버를 재정의 합니다.Overrides the proxy server used in the Snapshot Uploader process. 응용 프로그램이 프록시 서버를 통해 인터넷에 연결 하는 경우이 설정을 사용 해야 할 수 있습니다.You may need to use this setting if your application connects to the internet via a proxy server. Snapshot Collector는 응용 프로그램의 프로세스 내에서 실행 되 고 동일한 프록시 설정을 사용 합니다.The Snapshot Collector runs within your application's process and will use the same proxy settings. 그러나 스냅숏 업 로더는 별도의 프로세스로 실행 되며 프록시 서버를 수동으로 구성 해야 할 수도 있습니다.However, the Snapshot Uploader runs as a separate process and you may need to configure the proxy server manually. 이 값이 null 인 경우 Snapshot Collector는 시스템 .Net. WebRequest. DefaultWebProxy를 검사 하 고 값을 Snapshot 업 로더로 전달 하 여 프록시 주소를 자동 검색 합니다.If this value is null, then Snapshot Collector will attempt to autodetect the proxy's address by examining System.Net.WebRequest.DefaultWebProxy and passing on the value to the Snapshot Uploader. 이 값이 null이 아닌 경우 인코딩이가 사용 되지 않으며 여기에 지정 된 프록시 서버가 스냅숏 업 로더에 사용 됩니다.If this value isn't null, then autodetection isn't used and the proxy server specified here will be used in the Snapshot Uploader.

cosmosDbcosmosDb

구성 설정은 Cosmos DB 트리거 및 바인딩에서 찾을 수 있습니다.Configuration setting can be found in Cosmos DB triggers and bindings.

durableTaskdurableTask

구성 설정은 지속형 함수에 대한 바인딩에서 찾을 수 있습니다.Configuration setting can be found in bindings for Durable Functions.

eventHubeventHub

구성 설정은 이벤트 허브 트리거 및 바인딩에서 찾을 수 있습니다.Configuration settings can be found in Event Hub triggers and bindings.

확장extensions

http, eventHub 등의 모든 바인딩 관련 설정이 포함된 개체를 반환하는 속성입니다.Property that returns an object that contains all of the binding-specific settings, such as http and eventHub.

extensionBundleextensionBundle

확장 번들을 사용 하면 호환 되는 함수 바인딩 확장 집합을 함수 앱에 추가할 수 있습니다.Extension bundles let you add a compatible set of Functions binding extensions to your function app. 자세히 알아보려면 로컬 개발용 확장 번들을 참조 하세요.To learn more, see Extension bundles for local development.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

extensionBundle에서 사용할 수 있는 속성은 다음과 같습니다.The following properties are available in extensionBundle:

속성Property DescriptionDescription
idid Microsoft Azure Functions 확장 번들에 대한 네임스페이스입니다.The namespace for Microsoft Azure Functions extension bundles.
버전version 설치할 번들의 버전입니다.The version of the bundle to install. Functions 런타임은 항상 버전 범위 또는 간격으로 정의된 허용 가능한 최대 버전을 선택합니다.The Functions runtime always picks the maximum permissible version defined by the version range or interval. 위의 version 값은 1.0.0에서 2.0.0 사이의 모든 번들 버전을 허용하지만 2.0.0은 이 범위에 포함되지 않습니다.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. 자세한 내용은 버전 범위를 지정하기 위한 간격 표기법을 참조하세요.For more information, see the interval notation for specifying version ranges.

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. Timespan 문자열 형식을 따릅니다.It follows the timespan string format.

플랜 유형Plan type 기본값 (최소)Default (min) 최대 (분)Maximum (min)
ConsumptionConsumption 55 1010
프리미엄1Premium1 3030 -1 (제한 없음)2-1 (unbounded)2
전용 (App Service)Dedicated (App Service) 3030 -1 (제한 없음)2-1 (unbounded)2

1 프리미엄 계획 실행은 60 분 동안에만 보장 되지만 기술적으로는 제한 되지 않습니다.1 Premium plan execution is only guaranteed for 60 minutes, but technically unbounded.
2 값은 -1 무제한 실행을 나타내지만 고정 상한을 유지 하는 것이 좋습니다.2 A value of -1 indicates unbounded execution, but keeping a fixed upper bound is recommended.

{
    "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 기본값Default DescriptionDescription
사용enabled 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 기본값Default DescriptionDescription
fileLoggingModefileLoggingMode debugOnlydebugOnly 활성화할 파일 로깅의 수준을 정의합니다.Defines what level of file logging is enabled. 옵션은 never, always, debugOnly입니다.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 레이아웃을 따릅니다.Versions 2.x and later follow the ASP.NET Core layout for log category filtering. 이 설정을 통해 특정 함수에 대 한 로깅을 필터링 할 수 있습니다.This setting lets you filter logging for specific functions. 자세한 내용은 ASP.NET Core 설명서의 로그 필터링을 참조하세요.For more information, see Log filtering in the ASP.NET Core documentation.
콘솔console 해당 없음n/a 콘솔 로깅 설정입니다.The console logging setting.
applicationInsightsapplicationInsights 해당 없음n/a applicationInsights 설정입니다.The applicationInsights setting.

콘솔console

이 설정은 logging의 자식입니다.This setting is a child of logging. 디버깅 모드가 아닌 경우 콘솔 로깅을 제어합니다.It controls the console logging when not in debugging mode.

{
    "logging": {
    ...
        "console": {
          "isEnabled": "false"
        },
    ...
    }
}
속성Property 기본값Default DescriptionDescription
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

구성 설정은 스토리지 큐 트리거 및 바인딩에서 찾을 수 있습니다.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

Singleton 잠금 동작에 대한 구성 설정입니다.Configuration settings for Singleton lock behavior. 자세한 내용은 singleton 지원에 대한 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 기본값Default DescriptionDescription
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.

버전version

이 값은 host.js의 스키마 버전을 나타냅니다.This value indicates the schema version of host.json. 버전 문자열은 "version": "2.0" v2 runtime 이상 버전을 대상으로 하는 함수 앱에 필요 합니다.The version string "version": "2.0" is required for a function app that targets the v2 runtime, or a later version. V2와 v3 간의 스키마 변경에 대 한 host.js없습니다.There are no host.json schema changes between v2 and v3.

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" ]
}

값에 대 한 host.js재정의Override host.json values

파일 자체에서 host.js를 변경 하지 않고 특정 환경에 대 한 host.js파일의 특정 설정을 구성 하거나 수정 하려는 인스턴스가 있을 수 있습니다.There may be instances where you wish to configure or modify specific settings in a host.json file for a specific environment, without changing the host.json file itself. 값에 대 한 특정 host.js를 재정의 하 여 응용 프로그램 설정으로 해당 값을 만들 수 있습니다.You can override specific host.json values be creating an equivalent value as an application setting. 런타임에서 형식의 응용 프로그램 설정을 찾으면 AzureFunctionsJobHost__path__to__setting JSON의에 있는 설정에 대 한 해당 host.js을 재정의 합니다 path.to.setting .When the runtime finds an application setting in the format AzureFunctionsJobHost__path__to__setting, it overrides the equivalent host.json setting located at path.to.setting in the JSON. 응용 프로그램 설정으로 표현 되는 경우 . JSON 계층을 나타내는 데 사용 되는 점 ()은 이중 밑줄 ()로 대체 됩니다 __ .When expressed as an application setting, the dot (.) used to indicate JSON hierarchy is replaced by a double underscore (__).

예를 들어 로컬로 실행할 때 응용 프로그램 정보 샘플링을 사용 하지 않도록 설정 하려는 경우를 가정해 보겠습니다.For example, say that you wanted to disable Application Insight sampling when running locally. 파일에서 로컬 host.js를 변경 하 여 Application Insights를 사용 하지 않도록 설정 하면 배포 중에이 변경 내용이 프로덕션 앱에 푸시 될 수 있습니다.If you changed the local host.json file to disable Application Insights, this change might get pushed to your production app during deployment. 이 작업을 수행 하는 보다 안전한 방법은 대신 파일에서로 응용 프로그램 설정을 만드는 것입니다 "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" local.settings.json .The safer way to do this is to instead create an application setting as "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" in the local.settings.json file. 다음 파일에서이를 확인할 수 있습니다 local.settings.json .이 파일은 게시 되지 않습니다.You can see this in the following local.settings.json file, which doesn't get published:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "{storage-account-connection-string}",
        "FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
        "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
    }
}

다음 단계Next steps