Azure 함수 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.json 파일(로컬 개발용)에서 관리됩니다.Other function app configuration options are managed in your app settings (for deployed apps) or your local.settings.json file (for local development).

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

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

버전 2.x+에 대한 다음 샘플 host.json 파일에는 가능한 모든 옵션이 지정되어 있습니다(내부 용도로만 사용).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 설명Description
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.

샘플링 옵션을 포함하여 응용 프로그램 인사이트에 대한 옵션을 제어합니다.Controls options for Application Insights, including sampling options.

전체 JSON 구조에 대 한 이전 예제 host.json 파일을참조 하십시오.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. 로그 샘플링을 samplingExcludedTypes: "Request" 방지하려면 applicationInsights 값을 추가합니다.To avoid log sampling, add samplingExcludedTypes: "Request" to the applicationInsights value.

속성Property 기본값Default 설명Description
샘플링설정samplingSettings 해당 없음n/a 응용 프로그램 인사이트.샘플링설정을 참조하십시오.See applicationInsights.samplingSettings.
사용 가능라이브메트릭스enableLiveMetrics truetrue 라이브 메트릭 컬렉션을 활성화합니다.Enables live metrics collection.
사용 자종 속성 추적enableDependencyTracking truetrue 종속성 추적을 활성화합니다.Enables dependency tracking.
사용 가능성능 카운터컬렉션enablePerformanceCountersCollection truetrue Kudu 성능 카운터 컬렉션을 활성화합니다.Enables Kudu performance counters collection.
라이브메트릭초기화지연liveMetricsInitializationDelay 00:00:1500:00:15 내부 전용입니다.For internal use only.
http자동수집옵션httpAutoCollectionOptions 해당 없음n/a 응용 프로그램 인사이트.http자동 컬렉션 옵션을참조하십시오.See applicationInsights.httpAutoCollectionOptions.
스냅샷 구성snapshotConfiguration 해당 없음n/a 응용 프로그램 Insights.snapshot 구성을참조하십시오.See applicationInsights.snapshotConfiguration.

애플리케이션인사이트.샘플링설정applicationInsights.samplingSettings

속성Property 기본값Default 설명Description
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.
평가간격evaluationInterval 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.
초기 샘플링백분율initialSamplingPercentage 1.01.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.
샘플링비율증가시간samplingPercentageIncreaseTimeout 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.
샘플링백분율감소시간samplingPercentageDecreaseTimeout 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.
최소 샘플링 백분율minSamplingPercentage 0.10.1 샘플링 백분율이 다양하므로 이 속성은 허용되는 최소 샘플링 백분율을 결정합니다.As sampling percentage varies, this property determines the minimum allowed sampling percentage.
최대 샘플링 백분율maxSamplingPercentage 0.10.1 샘플링 백분율이 다양하므로 이 속성은 허용되는 최대 샘플링 백분율을 결정합니다.As sampling percentage varies, this property determines the maximum allowed sampling percentage.
이동평균비율movingAverageRatio 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.
제외유형excludedTypes nullnull 샘플링하지 않으려는 세미콜론으로 구분된 형식 목록입니다.A semi-colon delimited list of types that you don't want to be sampled. 인식되는 형식: 종속성, 이벤트, 예외, 페이지 보기, 요청, 추적Recognized types are: Dependency, Event, Exception, PageView, Request, Trace. 지정된 형식의 모든 인스턴스가 전송됩니다. 지정되지 않은 형식이 샘플링됩니다.All instances of the specified types are transmitted; the types that aren't specified are sampled.
포함유형includedTypes 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. 인식되는 형식: 종속성, 이벤트, 예외, 페이지 보기, 요청, 추적Recognized types are: Dependency, Event, Exception, PageView, Request, Trace. 지정된 형식의 모든 인스턴스가 전송됩니다. 지정되지 않은 형식이 샘플링됩니다.All instances of the specified types are transmitted; the types that aren't specified are sampled.

응용 프로그램인사이트.httpAutoCollection옵션applicationInsights.httpAutoCollectionOptions

속성Property 기본값Default 설명Description
사용 자http트리거확장정보컬렉션enableHttpTriggerExtendedInfoCollection 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.
사용 가능W3C분산TracingenableW3CDistributedTracing 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. false인 경우 enableHttpTriggerExtendedInfoCollection 이 플래그는 들어오는 요청이 아닌 나가는 요청에만 적용됩니다.If enableHttpTriggerExtendedInfoCollection is false, this flag applies to outgoing requests only, not incoming requests.
사용 자응답헤더 주입enableResponseHeaderInjection truetrue 다중 구성 요소 상관 관계 헤더를 응답에 삽입하거나 사용하지 않도록 설정합니다.Enables or disables injection of multi-component correlation headers into responses. 인젝션을 사용하면 응용 프로그램 인사이트가 여러 계측 키를 사용할 때 응용 프로그램 맵을 생성할 수 있습니다.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.

애플리케이션인사이트.스냅샷구성applicationInsights.snapshotConfiguration

스냅샷에 대한 자세한 내용은 .NET 앱의 예외에 대한 스냅숏 디버그 를 참조하고 문제 해결 을 통해 응용 프로그램 인사이트 스냅숏 디버거 또는 스냅숏 을 볼 수 있습니다.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 설명Description
에이전트엔드포인트agentEndpoint nullnull 응용 프로그램 인사이트 스냅숏 디버거 서비스에 연결하는 데 사용되는 끝점입니다.The endpoint used to connect to the Application Insights Snapshot Debugger service. null이면 기본 끝점이 사용됩니다.If null, a default endpoint is used.
캡처스냅스냅샷메모리웨이트captureSnapshotMemoryWeight 0.50.5 스냅숏을 생성할 메모리가 충분한지 확인할 때 현재 프로세스 메모리 크기에 부여된 가중치입니다.The weight given to the current process memory size when checking if there's enough memory to take a snapshot. 예상 값은 0보다 큰 적절한 분수(0 < CaptureSnapshotMemoryWeight < 1)보다 큽니다.The expected value is a greater than 0 proper fraction (0 < CaptureSnapshotMemoryWeight < 1).
failed요청리failedRequestLimit 33 원격 분석 프로세서를 사용하지 않도록 설정하기 전에 스냅숏을 요청하는 데 실패한 요청 수제한입니다.The limit on the number of failed requests to request snapshots before the telemetry processor is disabled.
핸들 추적되지 않은예외handleUntrackedExceptions truetrue Application Insights 원격 분석에서 추적하지 않는 예외의 추적을 활성화하거나 사용하지 않도록 설정합니다.Enables or disables tracking of exceptions that aren't tracked by Application Insights telemetry.
isEnabledisEnabled truetrue 스냅샷 수집 활성화 또는 비활성화Enables or disables snapshot collection
isEnabledIn 개발자 모드isEnabledInDeveloperMode falsefalse 개발자 모드에서 스냅샷 수집이 활성화되어 활성화또는 비활성화됩니다.Enables or disables snapshot collection is enabled in developer mode.
isEnabledWhen 프로파일링isEnabledWhenProfiling truetrue 응용 프로그램 인사이트 프로파일러가 자세한 프로파일링 세션을 수집하는 경우에도 스냅샷 생성을 활성화하거나 사용하지 않도록 설정합니다.Enables or disables snapshot creation even if the Application Insights Profiler is collecting a detailed profiling session.
is예외스냅포인트사용isExceptionSnappointsEnabled falsefalse 예외 필터링을 활성화하거나 사용하지 않도록 설정합니다.Enables or disables filtering of exceptions.
isLow우선 순위스냅샷 업로더isLowPrioritySnapshotUploader truetrue 스냅샷 업로더 프로세스를 정상 우선 순위 미만으로 실행할지 여부를 결정합니다.Determines whether to run the SnapshotUploader process at below normal priority.
최대컬렉션플랜사이즈maximumCollectionPlanSize 5050 1에서 9999까지의 범위에서 언제든지 추적 할 수있는 최대 문제 수입니다.The maximum number of problems that we can track at any time in a range from one to 9999.
최대스냅샷 필수maximumSnapshotsRequired 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.
문제카운터리셋간격problemCounterResetInterval 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.
제공익명 텔레메트리provideAnonymousTelemetry 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.
다시 연결간격reconnectInterval 00:15:0000:15:00 스냅숏 디버거 끝점에 다시 연결하는 빈도입니다.How often we reconnect to the Snapshot Debugger endpoint. 허용 범위는 1분에서 1일 사이입니다.Allowable range is one minute to one day.
섀도우카피폴더shadowCopyFolder 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.
공유업자프로세스shareUploaderProcess truetrue true이면 스냅샷 Uploader의 인스턴스 가 하나만 계측키키를 공유하는 여러 앱의 스냅샷을 수집하고 업로드합니다.If true, only one instance of SnapshotUploader will collect and upload snapshots for multiple apps that share the InstrumentationKey. false로 설정하면 스냅샷 업로더는 각 튜플(프로세스 이름, 계측키) 튜플에 대해 고유합니다.If set to false, the SnapshotUploader will be unique for each (ProcessName, InstrumentationKey) tuple.
스냅샷인로우우선순위스레드snapshotInLowPriorityThread 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. 스냅샷 업로더 프로세스에서 발생합니다.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.
스냅샷퍼데이제한snapshotsPerDayLimit 3030 하루(24시간)에 허용되는 최대 스냅샷 수입니다.The maximum number of snapshots allowed in one day (24 hours). 이 제한은 응용 프로그램 인사이트 서비스 측면에서도 적용됩니다.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.
스냅샷퍼텐분제한snapshotsPerTenMinutesLimit 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).
임시 폴더tempFolder nullnull 미니덤프 및 업로더 로그 파일을 작성하도록 폴더를 지정합니다.Specifies the folder to write minidumps and uploader log files. 설정하지 않으면 %TEMP%\덤프가 사용됩니다.If not set, then %TEMP%\Dumps is used.
임계값For스냅샷thresholdForSnapshotting 11 스냅숏을 요청하기 전에 응용 프로그램 인사이트가 예외를 표시해야 하는 횟수입니다.How many times Application Insights needs to see an exception before it asks for snapshots.
업로더프록시uploaderProxy 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. 스냅숏 수집기는 응용 프로그램의 프로세스 내에서 실행되며 동일한 프록시 설정을 사용합니다.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이면 스냅숏 수집기는 System.Net.WebRequest.DefaultWebProxy를 검사하고 값을 스냅숏 업로더에 전달하여 프록시 주소를 자동으로 검색하려고 시도합니다.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.

확장 번들extensionBundle

확장 번들을 사용하면 함수 앱에 호환되는 함수 바인딩 확장 집합을 추가할 수 있습니다.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 설명Description
idid Microsoft Azure 함수 확장 번들의 네임스페이스입니다.The namespace for Microsoft Azure Functions extension bundles.
버전version 설치할 번들의 버전입니다.The version of the bundle to install. 함수 런타임은 항상 버전 범위 또는 간격으로 정의된 최대 허용 버전을 선택합니다.The Functions runtime always picks the maximum permissible version defined by the version range or interval. 위의 버전 값을 사용하면 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.

번들 버전이 번들 변경의 패키지로 증분됩니다.Bundle versions increment as packages in the bundle change. 주 버전 변경은 번들의 패키지가 주 버전에 의해 증분될 때 발생합니다.Major version changes occur when packages in the bundle increment by a major version. 번들의 주 버전 변경은 일반적으로 함수 런타임의 주 버전 변경과 일치합니다.Major version changes in the bundle usually coincide with a change in the major version of the Functions runtime.

기본 번들에 의해 설치된 현재 확장 집합은 이 extensions.json 파일에함께 표시됩니다.The current set of extensions installed by the default bundle is enumerated in this extensions.json file.

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.

프리미엄 요금제에서 유효한 범위는 1초에서 60분사이이며 기본값은 30분입니다.In the Premium plan, the valid range is from 1 second to 60 minutes, and the default value is 30 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, 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 설명Description
사용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 설명Description
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 코어 레이아웃을 따릅니다.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.
consoleconsole 해당 없음n/a 콘솔 로깅 설정입니다.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 기본값Default 설명Description
isEnabledisEnabled falsefalse 콘솔 로깅을 사용하거나 사용하지 않도록 설정합니다.Enables or disables console logging.

관리종속성managedDependency

관리되는 종속성은 현재 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 설명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.

버전version

이 값은 host.json의 스키마 버전을 나타냅니다.This value indicates the schema version of host.json. 버전 문자열은 "version": "2.0" v2 런타임 또는 이후 버전을 대상으로 하는 함수 앱에 필요합니다.The version string "version": "2.0" is required for a function app that targets the v2 runtime, or a later version. v2와 v3 사이에는 host.json 스키마 변경 사항이 없습니다.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" ]
}

다음 단계Next steps