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"
}
}
속성 | 기본값 | 설명 |
---|---|---|
배치 크기 | 1000 | 집계할 최대 요청 수입니다. |
플러시 타임아웃 | 00:00:30 | 집계할 최대 기간입니다. |
함수 호출은 두 개의 한도 중 첫 번째 한에 도달할 때 집계됩니다.
애플리케이션 인사이트
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 서비스에 연결할 때 해당 함수에 의해 사용되는 연결 프로토콜입니다. 두 모드에 대한 설명은 여기를 참조하세요. |
리스프리픽스 | 해당 없음 | 앱의 모든 함수에서 사용할 접두사를 임대합니다. |
내구성 있는 작업
지속성 함수에 대한 구성 설정입니다.
참고 항목
Durable Functions의 모든 주요 버전은 모든 버전의 Azure Functions 런타임에서 지원됩니다. 그러나 host.json 구성의 스키마는 사용 중인 Azure Functions 런타임 및 Durable Functions 확장 버전에 따라 약간 다릅니다. 다음 예제는 Azure Functions 2.0 및 3.0과 함께 사용하기 위한 것입니다. 두 예제 모두 Azure Functions 1.0을 사용하는 경우 사용 가능한 설정은 동일하지만 host.json "durableTask" 섹션은 "확장"의 필드가 아닌 host.json 구성의 루트로 이동해야 합니다.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
},
"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입니다. 자세한 내용은 작업 허브를 참조하세요.
속성 | 기본값 | 설명 |
---|---|---|
허브이름 | TestHubName(Durable Functions 1.x를 사용하는 경우 DurableFunctionsHub) | 대체 작업 허브 이름은 동일한 스토리지 백 엔드를 사용하는 경우에도 여러 Durable Functions 애플리케이션을 서로 격리하는 데 사용할 수 있습니다. |
제어 큐 배치 크기 | 32 | 제어 큐에서 한 번에 끌어올 메시지의 수입니다. |
제어큐버퍼임계값 |
Python에 대한 사용 계획: 32 다른 언어에 대한 소비 계획: 128 전용/프리미엄 플랜: 256 |
메모리에 한 번에 버퍼링할 수 있는 컨트롤 큐 메시지의 수입니다. 이 시점에 디스패처는 추가 메시지를 큐에서 제거할 때까지 대기합니다. 경우에 따라 이 값을 줄이면 메모리 사용량이 크게 감소할 수 있습니다. |
파티션 수 | 4 | 제어 큐에 대한 파티션 수입니다. 1에서 16 사이의 양의 정수일 수 있습니다. 이 값을 변경하려면 새 작업 허브를 구성해야 합니다. |
controlQueueVisibilityTimeout(제어 큐 가시성 시간 초과) | 5분 | 큐에서 제거된 제어 큐 메시지의 표시 여부 시간 제한입니다. |
작업항목큐가시성시간초과 | 5분 | 큐에서 제거된 작업 항목 큐 메시지의 표시 여부 시간 제한입니다. |
최대 동시 활동 함수 |
소비 계획: 10 전용/프리미엄 플랜: 현재 컴퓨터의 프로세서 수 10배 |
단일 호스트 인스턴스에서 동시에 처리할 수 있는 작업 함수는 최대 수입니다. |
maxConcurrentOrchestratorFunctions (최대 동시 오케스트레이터 기능 수) |
소비 계획: 5 전용/프리미엄 플랜: 현재 컴퓨터의 프로세서 수 10배 |
단일 호스트 인스턴스에서 동시에 처리할 수 있는 오케스트레이터 함수의 최대 개수입니다. |
maxConcurrentEntityFunctions |
소비 계획: 5 전용/프리미엄 플랜: 현재 컴퓨터의 프로세서 수 10배 |
단일 호스트 인스턴스에서 동시에 처리할 수 있는 엔터티 함수의 최대 수입니다. 이 설정은 지속성 작업 스케줄러를 사용하는 경우에만 적용됩니다. 그렇지 않으면 동시 엔터티 실행의 최대 수는 .로 maxConcurrentOrchestratorFunctions 제한됩니다. |
최대 큐 폴링 간격 | 30초 | hh:mm:ss 형식의 최대 컨트롤 및 작업 항목 큐 폴링 간격입니다. 값이 높을수록 메시지 처리 대기 시간이 길어질 수 있습니다. 값이 낮을수록 스토리지 트랜잭션이 증가하기 때문에 스토리지 비용이 높아질 수 있습니다. |
connectionName(2.7.0 이상) connectionStringName(2.x) azureStorageConnectionStringName(1.x) |
AzureWebJobsStorage | 기본 Azure Storage 리소스에 연결하는 방법을 지정하는 앱 설정 또는 설정 컬렉션의 이름입니다. 단일 앱 설정이 제공되는 경우 Azure Storage 연결 문자열이어야 합니다. |
trackingStoreConnectionName(2.7.0 이상) 추적 스토어 연결 문자열 이름 |
기록 및 인스턴스 테이블에 연결하는 방법을 지정하는 앱 설정 또는 설정 컬렉션의 이름입니다. 단일 앱 설정이 제공되는 경우 Azure Storage 연결 문자열이어야 합니다. 지정하지 않으면, connectionStringName (Durable 2.x) 또는 azureStorageConnectionStringName (Durable 1.x) 연결이 사용됩니다. |
|
trackingStoreNamePrefix |
trackingStoreConnectionStringName 이 지정된 경우 기록 및 인스턴스 테이블에 사용할 접두사입니다. 설정하지 않는 경우 기본 접두사 값은 DurableTask 입니다.
trackingStoreConnectionStringName 이 지정되지 않으면, 기록 및 인스턴스 테이블은 hubName 값을 접두사로 사용하며, trackingStoreNamePrefix 에 대한 설정은 무시됩니다. |
|
입력과 출력 추적 | 거짓 | 함수 호출의 입출력을 추적할지 여부를 나타내는 값입니다. 함수 실행 이벤트를 추적할 때의 기본 동작은 함수 호출에 대한 직렬화된 입출력에 바이트 수를 포함하는 것입니다. 이 동작은 로그를 부풀리거나 실수로 중요한 정보를 노출하지 않으면서 입력 및 출력이 어떻게 보일지에 대한 최소한의 정보를 제공합니다. 이 속성을 true로 설정하면 기본 함수 로깅이 함수 입출력의 전체 내용을 기록하게 됩니다. |
traceReplayEvents | 거짓 | Application Insights에 이벤트를 재생하는 오케스트레이션을 작성할 것인지 여부를 나타내는 값입니다. |
이벤트그리드토픽엔드포인트 | Azure Event Grid 사용자 지정 항목 엔드포인트의 URL입니다. 이 속성이 설정되면 오케스트레이션 수명 주기 알림 이벤트가 이 엔드포인트에 게시됩니다. 이 속성은 앱 설정 해결을 지원합니다. | |
이벤트그리드키설정이름 |
EventGridTopicEndpoint 에서 Azure Event Grid 사용자 지정 항목으로 인증하는 데 사용되는 키를 포함하는 앱 설정의 이름입니다. |
|
EventGrid발행재시도횟수 | 0 | Event Grid 항목에 게시가 실패하는 경우 다시 시도 횟수입니다. |
이벤트 그리드 게시 재시도 간격 | 5분 | Event Grid는 hh:mm:ss 형식으로 재시도 간격을 게시합니다. |
이벤트그리드발행이벤트유형 | Event Grid에 게시할 이벤트 유형 목록입니다. 지정하지 않으면 모든 이벤트 유형이 게시됩니다. 허용되는 값에는 Started , Completed , Failed , Terminated 가 포함됩니다. |
|
useAppLease | 맞다 |
true 로 설정하면, 앱은 작업 허브 메시지를 처리하기 전에 앱 수준 Blob 임대를 확보해야 합니다. 자세한 내용은 재해 복구 및 지역 배포 설명서를 참조하세요. v2.3.0부터 사용할 수 있습니다. |
레거시 파티션 관리 사용 (useLegacyPartitionManagement) | 거짓 |
false 로 설정하면, 확장 시 중복 함수 실행 가능성을 줄이는 파티션 관리 알고리즘을 사용합니다. v2.3.0부터 사용할 수 있습니다.
이 값을 true 설정하지 않는 것이 좋습니다. |
테이블 분할 관리 사용 |
true v3.x 확장 버전에서v2.x 확장 버전의 false |
true 로 설정하면 Azure Storage V2 계정 비용을 절감하도록 설계된 파티션 관리 알고리즘을 사용합니다. WebJobs.Extensions.DurableTask v2.10.0부터 사용할 수 있습니다. 관리 ID와 함께 이 설정을 사용하려면 WebJobs.Extensions.DurableTask v3.x 이상 또는 v1.2.x 이상의 Worker.Extensions.DurableTask 버전이 필요합니다. |
그레이스풀 셧다운 사용하기 | 거짓 | (미리 보기) 정상적인 종료를 사용하도록 설정하여 호스트 종료가 in-process 함수 실행에 실패할 가능성을 줄입니다. |
maxEntityOperationBatchSize(2.6.1) |
소비 계획: 50 전용/프리미엄 플랜: 5000 |
일괄 처리로 처리되는 엔터티 작업의 최대 수입니다. 1로 설정하면 일괄 처리가 사용하지 않도록 설정되고 각 작업 메시지는 별도의 함수 호출로 처리됩니다. |
오케스트레이션 기록에 입력 저장 | 거짓 |
true 로 설정하면 기록 테이블에 작업 입력을 저장하도록 지속성 작업 프레임워크에 지시합니다. 이렇게 하면 오케스트레이션 기록을 쿼리할 때 작업 함수 입력을 표시할 수 있습니다. |
최대Grpc메시지크기바이트단위 | 4194304 | DurableTaskClient의 gRPC 클라이언트가 받을 수 있는 메시지의 최대 크기(바이트)를 설정하는 정수 값입니다. 이는 Durable Functions .NET Isolated 및 Java에 적용됩니다. |
grpcHttpClientTimeout | 100초 | 현재 .NET 격리 앱(.NET 6 이상 버전)과 Java에 대해 지원되는 Durable Functions의 gRPC 클라이언트에서 사용하는 HTTP 클라이언트에 대한 시간 제한을 설정합니다. |
이러한 설정의 대부분은 성능 최적화를 위한 것입니다. 자세한 내용은 성능 및 규모를 참조하세요.
eventHub
Event Hub 트리거 및 바인딩에 대한 구성 설정입니다.
기능
작업 호스트가 실행하는 함수 목록입니다. 빈 배열은 모든 함수를 실행한다는 의미입니다. 로컬로 실행하는 경우에만 사용하기 위한 것입니다. 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
}
}
속성 | 기본값 | 설명 |
---|---|---|
사용 | 맞다 | 기능의 사용 여부를 지정합니다. |
건강 검사 간격 | 10초 | 정기적인 백그라운드 상태 검사 사이의 간격 |
건강 점검 창 | 2분 |
healthCheckThreshold 설정과 함께 사용되는 슬라이딩 기간입니다. |
건강검사임계값 | 6 | 호스트 재생이 시작되기 전에 상태 검사 실패가 용인되는 최대 횟수 |
카운터 임계값 | 0.80 | 성능 카운터가 비정상으로 간주되는 임계값 |
http
http 트리거 및 바인딩에 대한 구성 설정입니다.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
속성 | 기본값 | 설명 |
---|---|---|
다이내믹 쓰로틀 활성화 | 거짓 | 사용 설정되면, 이 설정은 요청 처리 파이프라인에서 주기적으로 시스템 성능 카운터(연결/스레드/프로세스/메모리/cpu/등)를 확인하고 해당 카운터 중 하나가 기본 제공 임계값(80%)을 초과하는 경우, 요청은 카운터가 일반 수준으로 반환될 때까지 429 "작업 초과" 응답을 표시하여 거부됩니다. |
최대 동시 요청 수 | unbounded(-1 ) |
병렬로 실행될 HTTP 함수의 최대 수입니다. 그러면 리소스 사용률을 관리하는 데 도움이 되는 동시성을 제어할 수 있습니다. 예를 들어 많은 시스템 리소스(메모리/cpu/소켓)를 사용하는 HTTP 함수가 있으면 동시성이 너무 높은 문제가 발생할 수 있습니다. 또는 타사 서비스에 아웃바운드 요청을 하는 함수가 있는 경우 해당 호출의 속도가 제한되어야 합니다. 이러한 경우 여기에서 제한을 적용하는 것이 좋습니다. |
최대 대기 요청 수 | unbounded(-1 ) |
지정된 시간에 보유할 미해결 요청의 최대 수입니다. 이 제한에는 큐에 있지만 실행이 시작되지 않은 요청과 진행 중인 실행이 포함됩니다. 이 한도를 초과하여 들어오는 요청이 있으면 429 "Too Busy" 응답으로 거부됩니다. 그러면 호출자가 시간 기반 다시 시도 전략을 사용할 수 있고 최대 요청 대기 시간을 제어할 수 있습니다. 이 옵션은 스크립트 호스트 실행 경로 내에서 발생하는 큐만을 제어합니다. ASP.NET 요청 큐와 같은 다른 큐는 여전히 적용되며 이 설정의 영향을 받지 않습니다. |
경로 접두사 | 에이피아이 | 모든 경로에 적용되는 경로 접두사입니다. 기본 접두사를 제거하려면 빈 문자열을 사용하십시오. |
아이디
작업 호스트의 고유 ID입니다. 대시가 제거된 소문자 GUID일 수 있습니다. 로컬에서 실행될 때 필요합니다. Azure에서 실행할 때는 ID 값을 설정하지 않는 것이 좋습니다.
id
를 생략하면 ID가 Azure에서 자동으로 생성됩니다.
여러 함수 앱에서 Storage 계정을 공유하는 경우 각 함수 앱의 id
가 다른지 확인합니다.
id
속성을 생략하거나 수동으로 각 함수 앱의 id
를 다른 값으로 설정할 수 있습니다. 타이머 트리거는 함수 앱이 여러 인스턴스로 확장되는 경우 스토리지 잠금을 사용하여 하나의 타이머 인스턴스만이 존재하도록 합니다. 두 개의 함수 앱이 동일한 id
를 공유하고 각각 타이머 트리거를 사용하는 경우 하나의 타이머만이 실행됩니다.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
기록자
ILogger 개체 또는 context.log 의해 작성된 로그에 대한 필터링을 제어합니다.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
속성 | 기본값 | 설명 |
---|---|---|
카테고리 필터 | 해당 없음 | 범주별 필터링을 지정합니다. |
기본 수준 | 정보 |
categoryLevels 배열에 지정되지 않은 범주가 있으면 이 수준 이상의 로그를 Application Insights로 보내십시오. |
카테고리 수준 | 해당 없음 | 각 범주에 대해 Application Insight에 보낼 최소 로그 수준을 지정하는 범주 배열입니다. 여기에 지정된 범주는 동일한 값으로 시작하는 모든 범주를 제어하며 긴 값이 우선합니다. 앞의 샘플 host.json 파일에서 "Host.Aggregator"로 시작하는 모든 범주는 Information 수준에서 로그가 이루어집니다. "Host.Executor"와 같이 "Host"로 시작하는 다른 모든 범주는 Error 수준으로 기록됩니다. |
대기열
스토리지 큐 트리거 및 바인딩에 대한 구성 설정입니다.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
속성 | 기본값 | 설명 |
---|---|---|
최대 폴링 간격 | 60000 | 큐 폴링 사이 최대 간격(밀리초)입니다. |
가시성 시간 초과 | 0 | 메시지 처리가 실패하는 경우 재시도 사이의 간격입니다. |
배치 크기 | 16 | 함수 런타임이 동시에 검색하고 병렬로 처리하는 큐 메시지 수입니다. 처리되는 개수가 newBatchThreshold 로 감소하면 런타임은 다른 일괄 처리를 가져와 해당 메시지의 처리를 시작합니다. 따라서 함수당 처리되는 최대 동시 메시지 수는 batchSize + newBatchThreshold 입니다. 이 제한은 큐 트리거 함수에 개별적으로 적용됩니다. 하나의 큐에 수신된 메시지에 대해 병렬 실행을 방지하려면 batchSize 을 1로 설정합니다. 그러나 이 설정은 함수 앱이 단일 VM(가상 머신)에서 실행되는 동안에만 동시성을 제거합니다. 함수 앱이 여러 VM에 확장되면 각 VM은 각 큐 트리거 함수의 인스턴스 하나를 실행할 수 있습니다.최대 batchSize 은 32입니다. |
최대 디큐 수(maxDequeueCount) | 5 | 포이즌 큐로 이동하기 전에 메시지 처리를 시도할 횟수입니다. |
newBatchThreshold | batchSize/2 | 동시에 처리되는 메시지의 수가 이 숫자로 내려갈 때마다 런타임은 다른 일괄 처리를 검색합니다. |
SendGrid
SendGrind 출력 바인딩에 대한 구성 설정
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
속성 | 기본값 | 설명 |
---|---|---|
보낸 사람 | 해당 없음 | 모든 함수에서 보낸 사람의 이메일 주소입니다. |
serviceBus
Service Bus 트리거 및 바인딩에 대한 구성 설정입니다.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
속성 | 기본값 | 설명 |
---|---|---|
최대 동시 호출 수 (maxConcurrentCalls) | 16 | 메시지 펌프가 시작되어야 하는 콜백에 대한 최대 동시 호출 수입니다. 기본적으로 함수 런타임은 여러 개의 메시지를 동시에 처리합니다. 런타임이 큐 또는 토픽 메시지를 한 번에 하나만 처리하도록 하려면, maxConcurrentCalls 를 1로 설정합니다. |
프리페치 카운트 (prefetchCount) | 해당 없음 | 기본 ServiceBusReceiver에서 사용되는 기본 PrefetchCount입니다. |
autoRenewTimeout | 00:05:00 | 메시지 잠금이 자동으로 갱신되는 최대 기간입니다. |
자동 완성 | 맞다 | true인 경우 작업이 성공적으로 실행되면 트리거가 메시지 처리를 자동으로 완료합니다. false인 경우 반환하기 전에 메시지를 완료하는 작업을 해당 함수에서 담당합니다. |
싱글톤
Singleton 잠금 동작에 대한 구성 설정입니다. 자세한 내용은 Singleton 지원에 대한 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 | 함수 수준 잠금이 적용되는 기간입니다. 잠금은 자동 갱신됩니다. |
리스너잠금기간 | 00:01:00 | 수신기 잠금이 적용되는 기간입니다. |
listenerLockRecoveryPollingInterval | 00:01:00 | 시작할 때 수신기 잠금을 가져올 수 없는 경우 수신기 잠금 복구에 사용되는 시간 간격입니다. |
lockAcquisitionTimeout | 00:01:00 | 런타임이 잠금을 획득하려고 시도하는 최대 시간입니다. |
잠금획득폴링간격 | 해당 없음 | 잠금 확보 시도 사이의 간격입니다. |
추적
버전 1.x
TraceWriter
개체를 사용하여 만드는 로그에 대한 구성 설정입니다. 자세히 알아보려면 [C# 로깅]을 참조하세요.
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
속성 | 기본값 | 설명 |
---|---|---|
콘솔레벨 | 정보 | 콘솔 로깅의 추적 수준입니다. 옵션은 off , error , warning , info 및 verbose 입니다. |
파일 로깅 모드 | 디버그 전용 | 파일 로깅에 대한 추적 수준입니다. 옵션은 never , always , debugOnly 입니다. |
watchDirectories
변경 내용을 모니터링해야 하는 공유 코드 디렉터리 집합입니다. 이 디렉터리의 코드가 변경되면 변경 내용이 함수에 의해 선택되도록 합니다.
{
"watchDirectories": [ "Shared" ]
}