다음을 통해 공유


Azure Functions에 대한 앱 설정 참조

함수 앱의 애플리케이션 설정에는 해당 함수 앱의 모든 함수에 영향을 주는 구성 옵션이 포함됩니다. 이러한 설정은 환경 변수로 액세스됩니다. 이 문서에는 함수 앱에서 사용할 수 있는 앱 설정이 나열되어 있습니다.

함수 앱 설정을 추가, 업데이트 및 삭제할 수 있는 여러 가지 방법이 있습니다.

함수 앱 설정을 변경하려면 함수 앱을 다시 시작해야 합니다.

이 문서에서는 예 연결 문자열 값이 가독성을 위해 잘렸습니다.

Azure Functions는 호스팅에 Azure 앱 Service 플랫폼을 사용하므로 Azure 앱 Service의 환경 변수 및 앱 설정에 설명된 함수 앱 호스팅과 관련된 일부 설정을 찾을 수 있습니다.

앱 설정 고려 사항

앱 설정을 사용할 때 다음 고려 사항을 알고 있어야 합니다.

  • 함수 앱 설정을 변경하려면 함수 앱을 다시 시작해야 합니다.

  • 이름을 설정할 때 이중 밑줄(__) 및 콜론(:)은 예약된 값으로 간주됩니다. 이중 밑줄은 Windows와 Linux 모두에서 계층 구분 기호로 해석되며 콜론은 Windows에서만 동일한 방식으로 해석됩니다. 예를 들어, AzureFunctionsWebHost__hostid=somehost_123456 설정은 다음 JSON 개체로 해석됩니다.

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

    이 문서에서는 두 운영 체제에서 모두 지원되므로 이중 밑줄만 사용합니다. 관리 ID 연결을 지원하는 대부분의 설정은 이중 밑줄을 사용합니다.

  • Functions가 로컬에서 실행될 때 앱 설정은 local.settings.jsonValues 컬렉션에 지정됩니다.

  • host.json 파일 및 local.settings.json 파일에는 다른 함수 앱 구성 옵션이 있습니다.

  • 애플리케이션 설정을 사용하여 host.json 파일 자체를 변경할 필요 없이 host.json 설정 값을 재정의할 수 있습니다. 이 기능은 특정 환경에 대한 특정 host.json 설정을 구성하거나 수정해야 하는 경우에 유용합니다. 이렇게 하면 프로젝트를 다시 게시하지 않고도 host.json 설정을 변경할 수 있습니다. 자세한 내용은 host.json 참조 문서를 참조하세요.

  • 이 문서에서는 함수 앱과 가장 관련된 설정을 문서화합니다. Azure Functions는 App Service에서 실행되기 때문에 다른 애플리케이션 설정도 지원됩니다. 자세한 내용은 Azure App Service에서 환경 변수 및 앱 설정을 참조하세요.

  • 일부 시나리오에서는 App Service 사이트 설정에 설명된 설정으로 작업해야 합니다.

  • 읽기 전용 App Service 애플리케이션 설정을 변경하면 함수 앱이 응답하지 않는 상태가 될 수 있습니다.

  • ARM 템플릿을 포함하여 REST API를 사용하여 애플리케이션 설정을 업데이트할 때 주의합니다. 이러한 API는 기존 애플리케이션 설정을 바꾸므로 REST API 또는 ARM 템플릿을 사용하여 설정을 추가하거나 수정할 때 기존 설정을 모두 포함해야 합니다. 가능한 경우 Azure CLI 또는 Azure PowerShell을 사용하여 프로그래밍 방식으로 애플리케이션 설정을 사용합니다. 자세한 내용은 애플리케이션 설정 작업을 참조하세요.

APPINSIGHTS_INSTRUMENTATIONKEY

Application Insights에 대한 계측 키입니다. APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING을 같이 사용하지 마세요. 가능하면 APPLICATIONINSIGHTS_CONNECTION_STRING을 사용합니다. Application Insights가 독립 클라우드에서 실행되는 경우 APPLICATIONINSIGHTS_CONNECTION_STRING을 사용해야 합니다. 자세한 내용은 Azure Functions에 대한 모니터링을 구성하는 방법을 참조하세요.

샘플 값
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING을 같이 사용하지 마세요. APPLICATIONINSIGHTS_CONNECTION_STRING을 사용하는 것이 좋습니다.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Microsoft Entra 인증을 사용하여 Application Insights에 액세스할 수 있습니다. Microsoft Entra 인증을 사용하여 Application Insights 작업 영역에 연결해야 하는 경우 이 설정을 사용하세요. 자세한 내용은 Application Insights에 대한 Microsoft Entra 인증을 참조하세요.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING을 사용하는 경우 설정하는 특정 값은 관리 ID 유형에 따라 달라집니다.

관리 ID 설정 값
시스템 할당 Authorization=AAD
사용자 할당 Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

이 인증 요구 사항은 Functions 호스트, 스냅샷 디버거, 프로파일러 및 언어별 에이전트의 연결에 적용됩니다. 이 설정을 사용하려면 관리 ID를 함수 앱에서 이미 사용할 수 있어야 하며, 모니터링 메트릭 게시자에 해당하는 할당된 역할이 있어야 합니다.

참고 항목

Microsoft Entra 인증을 사용하여 Application Insights에 연결하기 위해 APPLICATIONINSIGHTS_AUTHENTICATION_STRING을 사용하는 경우 Application Insights에 대한 로컬 인증을 사용하지 않도록 설정해야 합니다. 이 구성에서는 원격 분석을 작업 영역에 수집하려면 Microsoft Entra 인증이 필요합니다.

APPLICATIONINSIGHTS_CONNECTION_STRING

Application Insights에 대한 연결 문자열입니다. APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING을 같이 사용하지 마세요. 모든 경우에 APPLICATIONINSIGHTS_CONNECTION_STRING을 사용하는 것이 좋지만 다음과 같은 경우에는 필수입니다.

  • 함수 앱에 연결 문자열 사용하여 지원되는 추가 사용자 지정이 필요한 경우
  • 사용자 지정 엔드포인트가 필요한 소버린 클라우드에서 Application Insights 인스턴스가 실행되는 경우

자세한 내용은 연결 문자열을 참조하세요.

샘플 값
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

Microsoft Entra 인증을 사용하여 Application Insights에 연결하려면 APPLICATIONINSIGHTS_AUTHENTICATION_STRING을 사용해야 합니다.

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Important

Azure Functions 프록시는 Azure Functions 런타임 버전 1.x~3.x의 레거시 함수입니다. 버전 4.x의 레거시 지원에 대한 자세한 내용은 Functions 프록시를 참조하세요.

기본적으로 Functions 프록시는 바로 가기를 사용하여 프록시에서 동일한 함수 앱의 함수로 API 호출을 직접 보냅니다. 이 바로 가기는 새 HTTP 요청을 만드는 대신 사용됩니다. 이 설정을 사용하면 바로 가기 동작을 사용하지 않도록 설정할 수 있습니다.

설명
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true 로컬 함수 앱에서 함수를 가리키는 백 엔드 URL을 사용하는 호출은 해당 함수로 직접 전달되지 않습니다. 대신, 요청은 함수 앱에 대한 HTTP 프런트 엔드로 다시 전달됩니다.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false 로컬 함수 앱에서 함수를 가리키는 백 엔드 URL을 사용하는 호출은 해당 함수로 직접 전달됩니다. 기본값은 false입니다.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Important

Azure Functions 프록시는 Azure Functions 런타임 버전 1.x~3.x의 레거시 함수입니다. 버전 4.x의 레거시 지원에 대한 자세한 내용은 Functions 프록시를 참조하세요.

이 설정은 백 엔드 URL로 삽입될 때 %2F 문자가 경로 매개 변수에서 슬래시로 디코딩되는지 여부를 제어합니다.

설명
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true 인코딩된 슬래시를 사용하는 경로 매개 변수는 디코딩됩니다.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false 모든 경로 매개 변수는 기본 동작인 변경되지 않은 상태로 전달됩니다.

예를 들어 myfunction.com 도메인의 함수 앱에 대한 proxies.json 파일을 살펴보겠습니다.

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHEStrue로 설정되면 URL은 example.com/api%2ftestexample.com/api/test로 확인합니다. 기본적으로 URL은 변경되지 않고 example.com/test%2fapi 그대로 유지됩니다. 자세한 내용은 함수 프록시를 참조하세요.

AZURE_FUNCTIONS_ENVIRONMENT

Azure에서 실행할 때 함수 앱의 런타임 호스팅 환경을 구성합니다. 이 값은 초기화 중에 읽혀지고 런타임에서는 이러한 값만 적용됩니다.

설명
Production 로깅 감소 및 전체 성능 최적화가 구현된 프로덕션 환경을 나타냅니다. AZURE_FUNCTIONS_ENVIRONMENT를 설정하지 않았거나 지원되지 않는 값으로 설정한 경우 이것이 기본값입니다.
Staging 스테이징 슬롯에서 실행할 때와 같은 스테이징 환경을 나타냅니다.
Development 개발 환경은 더 자세한 로깅 및 감소된 성능 최적화를 지원합니다. Azure Functions Core Tools는 로컬 컴퓨터에서 실행할 때 AZURE_FUNCTIONS_ENVIRONMENTDevelopment로 설정합니다. 이 설정은 local.settings.json 파일에서 재정의할 수 없습니다.

Azure의 런타임 환경을 Production 이외의 항목으로 변경해야 하는 경우 ASPNETCORE_ENVIRONMENT 대신 이 설정을 사용합니다. 자세한 내용은 환경 기반 시작 클래스 및 메서드를 참조하세요.

이 설정은 Functions 런타임 버전 1.x에서 사용할 수 없습니다.

AzureFunctionsJobHost__*

버전 2.x 이상 버전의 Functions 런타임에서는 애플리케이션 설정이 현재 환경의 host.json 설정을 재정의할 수 있습니다. 이러한 재정의는 AzureFunctionsJobHost__path__to__setting이라는 애플리케이션 설정으로 표현됩니다. 자세한 내용은 host.json 값 재정의를 참조하세요.

AzureFunctionsWebHost__hostid

고유한 ID여야 하는 지정된 함수 앱의 호스트 ID를 설정합니다. 이 설정은 앱에 대해 자동으로 생성된 호스트 ID 값을 재정의합니다. 동일한 스토리지 계정을 공유하는 함수 앱 간의 호스트 ID 충돌을 방지해야 하는 경우에만 이 설정을 사용합니다.

호스트 ID는 다음 요구 사항을 충족해야 합니다.

  • 1자에서 32자 사이여야 함
  • 소문자, 숫자 및 대시만 포함
  • 대시로 시작하거나 끝나지 않음
  • 연속 대시를 포함하지 않음

ID를 생성하는 쉬운 방법은 GUID를 가져와서 대시를 제거하고 GUID 1835D7B5-5C98-4790-815D-072CC94C6F71을 값 1835d7b55c984790815d072cc94c6f71로 변환하는 것과 같이 소문자로 만드는 것입니다.

샘플 값
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

자세한 내용은 호스트 ID 고려 사항을 참조하세요.

AzureWebJobsDashboard

이 설정은 더 이상 사용되지 않으며 Azure Functions 런타임 버전 1.x에서 실행되는 경우에만 지원됩니다.

로그를 저장하고 포털의 모니터 탭에 표시하기 위한 선택적인 스토리지 계정 연결 문자열입니다. 스토리지 계정은 Blob, 큐 및 테이블을 지원하는 범용 계정이어야 합니다. 자세한 내용은 스토리지 계정 요구 사항을 참조하세요.

샘플 값
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobsDisableHomepage

true 값은 함수 앱의 루트 URL에 대해 표시되는 기본 방문 페이지를 사용하지 않도록 설정합니다. 기본값은 false입니다.

샘플 값
AzureWebJobsDisableHomepage true

이 앱 설정이 생략되거나 false로 설정되면 URL <functionappname>.azurewebsites.net에 대한 응답으로 다음 예와 유사한 페이지가 표시됩니다.

함수 앱 방문 페이지

AzureWebJobsDotNetReleaseCompilation

true 는 .NET 코드를 컴파일할 때 사용 Release 모드를 의미합니다 false . 즉, 디버그 모드를 사용합니다. 기본값은 true입니다.

샘플 값
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

사용하도록 설정할 쉼표로 구분된 베타 기능 목록입니다. 이 플래그로 사용할 수 있는 베타 기능은 프로덕션 준비가 되지 않았지만 실제로 사용하기 전에 실험적 용도로 사용할 수 있습니다.

샘플 값
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Azure API Management로의 마이그레이션을 계획하는 동안 Functions 런타임 버전 4.x에서 프록시를 다시 사용하도록 설정하려면 이 목록에 EnableProxies를 추가합니다. 자세한 내용은 Functions v4.x에서 프록시를 다시 사용하도록 설정를 참조하세요.

AzureWebJobsKubernetesSecretName

키를 저장하는 데 사용되는 Kubernetes 비밀 리소스를 나타냅니다. Kubernetes에서 실행되는 경우에만 지원됩니다. 이 설정을 사용하려면 AzureWebJobsSecretStorageTypekubernetes로 설정해야 합니다. AzureWebJobsKubernetesSecretName이(가) 설정되지 않은 경우, 리포지토리는 읽기 전용으로 간주됩니다. 이 경우, 배포 전에 값이 생성되어야 합니다. Azure Functions Core Tools는 Kubernetes에 배포할 때 값을 자동으로 생성합니다.

샘플 값
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

자세한 내용은 키 스토리지 관리를 참조하세요.

AzureWebJobsSecretStorageKeyVaultClientId

키가 저장된 자격 증명 모음에 액세스하는 데 사용되는 사용자가 할당한 관리 ID 또는 앱 등록의 클라이언트 ID입니다. 이 설정을 사용하려면 AzureWebJobsSecretStorageTypekeyvault로 설정해야 합니다. Functions 런타임 버전 4.x 이상에서 지원됩니다.

샘플 값
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

자세한 내용은 키 스토리지 관리를 참조하세요.

AzureWebJobsSecretStorageKeyVaultClientSecret

키가 저장된 자격 증명 모음에 액세스하는 데 사용되는 사용자가 할당한 관리 ID 또는 앱 등록의 클라이언트 ID에 대한 비밀입니다. 이 설정을 사용하려면 AzureWebJobsSecretStorageTypekeyvault로 설정해야 합니다. Functions 런타임 버전 4.x 이상에서 지원됩니다.

샘플 값
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

자세한 내용은 키 스토리지 관리를 참조하세요.

AzureWebJobsSecretStorageKeyVaultName

이 설정은 더 이상 사용되지 않으며 Azure Functions 런타임 버전 3.x에서 실행될 때만 사용되었습니다.

키를 저장하는 데 사용되는 키 자격 증명 모음 인스턴스의 이름입니다. 이 설정은 더 이상 지원되지 않는 Functions 런타임 버전 3.x에서만 사용되었습니다. 버전 4.x의 경우 AzureWebJobsSecretStorageKeyVaultUri를 대신 사용합니다. 이 설정을 사용하려면 AzureWebJobsSecretStorageTypekeyvault로 설정해야 합니다.

자격 증명 모음에는 반드시 호스팅 리소스의 시스템 할당 관리 ID에 해당하는 액세스 정책이 있어야 합니다. 액세스 정책은 ID에 Get,Set, List, Delete의 비밀 권한을 부여하도록 합니다.
함수가 로컬에서 실행될 때 개발자 ID가 사용되며 설정은 local.settings.json 파일에 있어야 합니다.

샘플 값
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

자세한 내용은 키 스토리지 관리를 참조하세요.

AzureWebJobsSecretStorageKeyVaultTenantId

키가 저장된 자격 증명 모음에 액세스하는 데 사용되는 앱 등록의 테넌트 ID입니다. 이 설정을 사용하려면 AzureWebJobsSecretStorageTypekeyvault로 설정해야 합니다. Functions 런타임 버전 4.x 이상에서 지원됩니다. 자세한 내용은 키 스토리지 관리를 참조하세요.

샘플 값
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

키를 저장하는 데 사용되는 키 자격 증명 모음 인스턴스의 URI입니다. Functions 런타임 버전 4.x 이상에서 지원됩니다. 키 자격 증명 모음 인스턴스를 키 스토리지에 사용하는 데 권장되는 설정입니다. 이 설정을 사용하려면 AzureWebJobsSecretStorageTypekeyvault로 설정해야 합니다.

AzureWebJobsSecretStorageKeyVaultUri 값은 https://를 포함하여 Key Vault 개요 탭에 표시된 자격 증명 모음 URI의 전체 값이어야 합니다.

자격 증명 모음에는 반드시 호스팅 리소스의 시스템 할당 관리 ID에 해당하는 액세스 정책이 있어야 합니다. 액세스 정책은 ID에 Get,Set, List, Delete의 비밀 권한을 부여하도록 합니다.
함수가 로컬에서 실행될 때 개발자 ID가 사용되며 설정은 local.settings.json 파일에 있어야 합니다.

샘플 값
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

자세한 내용은 Azure Functions용 Key Vault 참조 사용을 참조하세요.

AzureWebJobsSecretStorageSas

키 스토리지에 사용되는 두 번째 스토리지 계정에 대한 Blob Storage SAS URL입니다. 기본적으로 Functions는 AzureWebJobsStorage에 설정된 계정을 사용합니다. 이 비밀 스토리지 옵션을 사용하는 경우 AzureWebJobsSecretStorageType이 명시적으로 설정되어 있지 않거나 blob으로 설정되어 있는지 확인합니다. 자세한 내용은 키 스토리지 관리를 참조하세요.

샘플 값
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

키 스토리지에 사용할 리포지토리 또는 공급자를 지정합니다. 키는 함수 앱에 고유한 비밀을 사용하여 저장되기 전에 항상 암호화됩니다.

설명
AzureWebJobsSecretStorageType blob 키는 AzureWebJobsStorage 설정에서 제공하는 계정의 Blob Storage 컨테이너에 저장됩니다. Blob Storage는 AzureWebJobsSecretStorageType이 설정되지 않은 경우의 기본 동작입니다.
다른 스토리지 계정을 지정하려면 AzureWebJobsSecretStorageSas 설정을 사용하여 두 번째 스토리지 계정의 SAS URL을 나타냅니다.
AzureWebJobsSecretStorageType files 키는 파일 시스템에서 유지됩니다. 이는 Functions v1.x의 기본 동작입니다.
AzureWebJobsSecretStorageType keyvault 키는 AzureWebJobsSecretStorageKeyVaultName에서 설정한 키 자격 증명 모음 인스턴스에 저장됩니다.
AzureWebJobsSecretStorageType kubernetes Kubernetes에서 함수 런타임을 실행하는 경우에만 지원됩니다. AzureWebJobsKubernetesSecretName이(가) 설정되지 않은 경우, 리포지토리는 읽기 전용으로 간주됩니다. 이 경우, 배포 전에 값이 생성되어야 합니다. Azure Functions Core Tools는 Kubernetes에 배포할 때 값을 자동으로 생성합니다.

자세한 내용은 키 스토리지 관리를 참조하세요.

AzureWebJobsStorage

Functions 런타임이 일반 작업에 사용하는 Azure Storage 계정에 대한 연결 문자열을 지정합니다. Functions에서 이 스토리지 계정이 사용되는 경우에는 키 관리, 타이머 트리거 관리 및 Event Hubs 검사점 등이 있습니다. 스토리지 계정은 Blob, 큐 및 테이블을 지원하는 범용 계정이어야 합니다. 자세한 내용은 스토리지 계정 요구 사항을 참조하세요.

샘플 값
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

연결 문자열 대신 이 스토리지 계정에 대해 ID 기반 연결을 사용할 수 있습니다. 자세한 내용은 ID로 호스트 스토리지에 연결을 참조하세요.

AzureWebJobsStorage__accountName

ID 기반 스토리지 연결을 사용하는 경우 AzureWebJobsStorage에서 연결 문자열을 사용하는 대신 스토리지 계정의 계정 이름을 설정합니다. 이 구문은 AzureWebJobsStorage에 고유하며 다른 ID 기반 연결에는 사용할 수 없습니다.

샘플 값
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

소버린 클라우드의 경우나 사용자 지정 DNS를 사용하는 경우에는 대신 서비스별 AzureWebJobsStorage__*ServiceUri 설정을 사용해야 합니다.

AzureWebJobsStorage__blobServiceUri

ID 기반 스토리지 연결을 사용하는 경우 스토리지 계정의 Blob 서비스에 대한 데이터 평면 URI를 설정합니다.

샘플 값
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

소버린 클라우드에서 또는 사용자 지정 DNS를 사용하는 경우 AzureWebJobsStorage__accountName 대신 이 설정을 사용합니다. 자세한 내용은 ID로 호스트 스토리지에 연결을 참조하세요.

AzureWebJobsStorage__queueServiceUri

ID 기반 스토리지 연결을 사용하는 경우 스토리지 계정의 큐 서비스에 대한 데이터 평면 URI를 설정합니다.

샘플 값
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

소버린 클라우드에서 또는 사용자 지정 DNS를 사용하는 경우 AzureWebJobsStorage__accountName 대신 이 설정을 사용합니다. 자세한 내용은 ID로 호스트 스토리지에 연결을 참조하세요.

AzureWebJobsStorage__tableServiceUri

ID 기반 스토리지 연결을 사용하는 경우 스토리지 계정의 테이블 서비스에 대한 데이터 평면 URI를 설정합니다.

샘플 값
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

소버린 클라우드에서 또는 사용자 지정 DNS를 사용하는 경우 AzureWebJobsStorage__accountName 대신 이 설정을 사용합니다. 자세한 내용은 ID로 호스트 스토리지에 연결을 참조하세요.

AzureWebJobs_TypeScriptPath

TypeScript에 사용되는 컴파일러의 경로입니다. 필요한 경우 기본값을 재정의할 수 있습니다.

샘플 값
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_REGISTRY_SERVER_PASSWORD

프라이빗 컨테이너 레지스트리에 액세스하는 데 사용되는 암호를 나타냅니다. 이 설정은 프라이빗 컨테이너 레지스트리에서 컨테이너화된 함수 앱을 배포할 때만 필요합니다. 자세한 내용은 Azure App Service에서 환경 변수 및 앱 설정을 참조하세요.

DOCKER_REGISTRY_SERVER_URL

프라이빗 컨테이너 레지스트리의 URL을 나타냅니다. 이 설정은 프라이빗 컨테이너 레지스트리에서 컨테이너화된 함수 앱을 배포할 때만 필요합니다. 자세한 내용은 Azure App Service에서 환경 변수 및 앱 설정을 참조하세요.

DOCKER_REGISTRY_SERVER_USERNAME

프라이빗 컨테이너 레지스트리에 액세스하는 데 사용되는 계정을 나타냅니다. 이 설정은 프라이빗 컨테이너 레지스트리에서 컨테이너화된 함수 앱을 배포할 때만 필요합니다. 자세한 내용은 Azure App Service에서 환경 변수 및 앱 설정을 참조하세요.

DOCKER_SHM_SIZE

Python 작업자에서 공유 메모리를 사용하는 경우 공유 메모리 크기(바이트)를 설정합니다. 자세한 내용은 공유 메모리를 참조하세요.

샘플 값
DOCKER_SHM_SIZE 268435456

위의 값은 256MB 이하의 공유 메모리 크기를 설정합니다.

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED1로 설정해야 합니다.

ENABLE_ORYX_BUILD

배포 중에 Oryx 빌드 시스템이 사용되는지 여부를 나타냅니다. Linux에 대한 원격 빌드 배포를 수행할 때 ENABLE_ORYX_BUILDtrue로 설정해야 합니다. 자세한 내용은 원격 빌드를 참조하세요.

샘플 값
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Azure Portal에서 함수 앱을 편집할 수 있는지 여부를 나타냅니다. 유효한 값은 readwritereadonly입니다.

샘플 값
FUNCTION_APP_EDIT_MODE readonly

이 값은 함수 앱의 언어 스택 및 배포 상태에 따라 런타임에서 설정됩니다. 자세한 내용은 Azure Portal의 개발 제한을 참조하세요.

FUNCTIONS_EXTENSION_VERSION

이 함수 앱을 호스트하는 Functions 런타임의 버전입니다. 주 버전의 물결표(~)는 해당 주 버전의 최신 버전(예: ~4)을 사용한다는 의미입니다. 동일한 주 버전의 새로운 부 버전을 사용할 수 있으면 함수 앱에 자동으로 설치됩니다.

샘플 값
FUNCTIONS_EXTENSION_VERSION ~4

다음과 같은 주요 런타임 버전 값이 지원됩니다.

런타임 대상 Comment(설명)
~4 4.x 권장
~1 1.x 2026년 9월 14일에 지원이 종료됩니다.

~4 값은 앱이 런타임의 버전 4.x에서 실행됨을 의미합니다. 값이 ~1이면 앱을 런타임의 버전 1.x로 고정합니다. 런타임 버전 2.x 및 3.x는 더 이상 지원되지 않습니다. 자세한 내용은 Azure Functions 런타임 버전 개요를 참조하세요. 지원팀에서 앱을 특정 부 버전에 고정하도록 요청한 경우 전체 버전 번호(예: 4.0.12345)를 사용합니다. 자세한 내용은 Azure Functions 런타임 버전을 대상으로 지정하는 방법을 참조하세요.

FUNCTIONS_INPROC_NET8_ENABLED

앱이 In Process 모델에서 .NET 8을 사용할 수 있는지 여부를 나타냅니다. In Process 모델에서 .NET 8을 사용하려면 이 값을 1(으)로 설정해야 합니다. 다른 필수 구성 값을 비롯한 전체 지침은 대상 .NET 8으로 업데이트를 참조하세요.

샘플 값
FUNCTIONS_INPROC_NET8_ENABLED 1

In Process 모델에서 .NET 8에 대한 지원을 사용하지 않도록 설정하려면 0(으)로 설정하세요.

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

이 앱 설정은 Node.js v18 이하에서 진입점 오류 문제를 더 쉽게 해결할 수 있도록 Node.js 앱에서 호환성이 손상되는 변경을 사용하도록 설정하는 임시 방법입니다. 특히 항상 진입점 파일을 사용하는 프로그래밍 모델 v4 앱의 경우 true를 사용하는 것이 좋습니다. 호환성이 손상되는 변경(false)이 없는 동작은 진입점 오류를 무시하고 이를 Application Insights에 기록하지 않습니다.

Node.js v20부터 앱 설정이 적용되지 않으며 호환성이 손상되는 변경 동작이 항상 사용하도록 설정됩니다.

Node.js v18 이하의 경우 앱 설정을 사용하며 기본 동작은 모델 v4 함수 등록 전 또는 후에 오류가 발생하는지에 따라 달라집니다.

  • 이전에 오류가 발생한 경우(예: 모델 v3을 사용 중이거나 진입점 파일이 없는 경우) 기본 동작은 false와 일치합니다.
  • 이후에 오류가 발생하면(예: 중복 모델 v4 함수를 등록하려고 시도하는 경우) 기본 동작은 true와 일치합니다.
설명
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true 진입점 오류를 차단하고 Application Insights에 기록합니다.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false 진입점 오류를 무시하고 Application Insights에 기록하지 마세요.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

HTTP 엔드포인트로 전송되는 요청의 본문 크기에 대한 기본 제한을 재정의합니다. 이 값은 기본 최대 요청 크기가 104,857,600바이트인 바이트로 제공됩니다.

샘플 값
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Important

이 설정은 더 이상 지원되지 않습니다. 원래는 v2.x 런타임을 대상으로 하는 앱이 해당 런타임 버전이 지원되는 동안에도 대신 v3.x 런타임에서 실행될 수 있도록 단기 해결 방법을 사용하도록 하기 위해 제공되었습니다. 버전 1.x에서 실행되는 레거시 앱을 제외한 모든 함수 앱은 Functions 런타임 버전 4.x FUNCTIONS_EXTENSION_VERSION=~4에서 실행되어야 합니다. 자세한 내용은 Azure Functions 런타임 버전 개요를 참조하세요.

FUNCTIONS_WORKER_PROCESS_COUNT

기본값 1을 사용하여 언어 작업자 프로세스의 최대 수를 지정합니다. 허용된 최대 값은 10입니다. 함수 호출은 언어 작업자 프로세스 간에 균등하게 분산됩니다. 언어 작업자 프로세스는 FUNCTIONS_WORKER_PROCESS_COUNT에 의해 설정된 수에 도달할 때까지 10초 간격으로 생성됩니다. 여러 언어 작업자 프로세스를 사용하는 것은 크기 조정과 다릅니다. 워크로드에 CPU 바인딩 및 I/O 바인딩 호출이 혼합되어 있는 경우 이 설정을 사용하는 것이 좋습니다. 이 설정은 프로세스(FUNCTIONS_WORKER_RUNTIME=dotnet)에서 실행되는 .NET을 제외한 모든 언어 런타임에 적용됩니다.

샘플 값
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

함수 앱에서 로드할 작업자 런타임의 언어 또는 언어 스택입니다. 이것은 애플리케이션(예: python)에 사용되는 언어에 해당합니다. Azure Functions 런타임의 버전 2.x부터 지정된 함수 앱은 단일 언어만 지원할 수 있습니다.

샘플 값
FUNCTIONS_WORKER_RUNTIME node

유효한 값은

언어/언어 스택
dotnet C#(클래스 라이브러리)
C#(스크립트)
dotnet-isolated C#(격리 작업자 프로세스)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom 기타

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

이 설정을 사용하면 Python 작업자에서 공유 메모리를 사용하여 처리량을 향상시킬 수 있습니다. Python 함수 앱에서 메모리 병목 상태에 도달할 때 공유 메모리를 사용하도록 설정합니다.

샘플 값
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

이 설정이 사용하도록 설정되면 DOCKER_SHM_SIZE 설정을 사용하여 공유 메모리 크기를 설정할 수 있습니다. 자세한 내용은 공유 메모리를 참조하세요.

JAVA_OPTS

프리미엄 플랜 또는 전용 플랜에서 실행할 때 Java 함수를 실행하는 데 사용되는 JVM(Java 가상 머신)을 사용자 지정하는 데 사용됩니다. 소비 플랜에서 실행하는 경우 대신 languageWorkers__java__arguments를 사용합니다. 자세한 내용은 JVM 사용자 지정을 참조하세요.

languageWorkers__java__arguments

소비 플랜에서 실행할 때 Java 함수를 실행하는 데 소비되는 JVM(Java 가상 머신)을 사용자 지정하는 데 소비됩니다. 이 설정은 소비 플랜에서 실행되는 Java 함수의 콜드 부팅 시간을 늘립니다. 프리미엄 또는 전용 플랜의 경우 대신 JAVA_OPTS를 사용합니다. 자세한 내용은 JVM 사용자 지정을 참조하세요.

MDMaxBackgroundUpgradePeriod

PowerShell 함수 앱의 관리되는 종속성 백그라운드 업데이트 기간을 제어하며, 기본값은 7.00:00:00(매주)입니다.

각 PowerShell 작업자 프로세스는 프로세스 시작 시와 그 이후 MDMaxBackgroundUpgradePeriod마다 PowerShell 갤러리에서 모듈 업그레이드 확인을 시작합니다. PowerShell 갤러리에서 새 모듈 버전을 사용할 수 있는 경우 해당 버전은 파일 시스템에 설치되며 PowerShell 작업자에게 제공됩니다. 이 값을 줄이면 함수 앱에서 최신 모듈 버전을 더 빨리 가져올 수 있지만, 앱 리소스 사용량(네트워크 I/O, CPU, 스토리지)도 늘어납니다. 이 값을 늘리면 앱의 리소스 사용량이 줄어들지만, 앱에 새 모듈 버전을 전달하는 작업이 지연될 수도 있습니다.

샘플 값
MDMaxBackgroundUpgradePeriod 7.00:00:00

자세한 내용은 종속성 관리를 참조하세요.

MDNewSnapshotCheckPeriod

각 PowerShell 작업자가 관리되는 종속성 업그레이드의 설치 여부를 확인하는 빈도를 지정합니다. 기본 빈도는 01:00:00(매시간)입니다.

새 모듈 버전이 파일 시스템에 설치된 후에는 모든 PowerShell 작업자 프로세스를 다시 시작해야 합니다. PowerShell 작업자를 다시 시작하면 현재 함수 실행을 중단할 수 있으므로 앱 사용 가능성이 영향을 받습니다. 모든 PowerShell 작업자 프로세스가 다시 시작될 때까지 함수 호출은 이전 버전 또는 새 모듈 버전을 사용할 수 있습니다. 모든 PowerShell 작업자를 다시 시작하는 작업이 MDNewSnapshotCheckPeriod 내에 완료됩니다.

모든 MDNewSnapshotCheckPeriod 내에서 PowerShell 작업자가 관리되는 종속성 업그레이드의 설치 여부를 확인합니다. 업그레이드가 설치되면 다시 시작됩니다. 이 값을 늘리면 다시 시작으로 인한 중단 빈도가 줄어듭니다. 그러나 이 값을 늘리면 함수 호출에서 이전 또는 새 모듈 버전을 임의로 사용할 수 있는 시간도 비결정적으로 늘어날 수 있습니다.

샘플 값
MDNewSnapshotCheckPeriod 01:00:00

자세한 내용은 종속성 관리를 참조하세요.

MDMinBackgroundUpgradePeriod

이전에 관리되는 종속성 업그레이드 확인 후 다른 업그레이드 확인이 시작되기 전의 기간이며, 기본값은 1.00:00:00(매일)입니다.

잦은 작업자 재시작을 과도하게 모듈 업그레이드하지 않기 위해 작업자가 마지막 MDMinBackgroundUpgradePeriod에 체크 인을 이미 시작한 경우에는 모듈 업그레이드를 확인하지 않습니다.

샘플 값
MDMinBackgroundUpgradePeriod 1.00:00:00

자세한 내용은 종속성 관리를 참조하세요.

PIP_INDEX_URL

이 설정을 사용하면 기본적으로 https://pypi.org/simple인 Python 패키지 인덱스의 기준 URL을 재정의할 수 있습니다. 사용자 지정 종속성을 사용하여 원격 빌드를 실행해야 하는 경우 이 설정을 사용합니다. 이러한 사용자 지정 종속성은 PEP 503(단순 리포지토리 API)과 호환되는 패키지 인덱스 리포지토리 또는 동일한 형식을 따르는 로컬 디렉터리에 있을 수 있습니다.

샘플 값
PIP_INDEX_URL http://my.custom.package.repo/simple

자세한 내용은 --index-url의 경우 pip 설명서 및 Python 개발자 참조에서 사용자 지정 종속성 사용을 참조하세요.

PIP_EXTRA_INDEX_URL

이 설정의 값은 --index-url 외에 사용할 Python 앱용 사용자 지정 패키지에 대한 추가 인덱스 URL을 나타냅니다. 추가 패키지 인덱스에 있는 사용자 지정 종속성을 사용하여 원격 빌드를 실행해야 하는 경우 이 설정을 사용합니다. --index-url과 동일한 규칙을 따라야 합니다.

샘플 값
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

자세한 내용은 --extra-index-url의 경우 pip 설명서 및 Python 개발자 참조에서 사용자 지정 종속 항목을 참조하세요.

프로젝트

Kudu 배포 서비스에 배포 가능한 프로젝트를 배치할 연결된 리포지토리의 폴더를 알려주는 연속 배포 설정입니다.

샘플 값
프로젝트 WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

구성은 Python 함수 앱에만 적용됩니다. 모듈 로드 순서에 대한 우선 순위를 정의합니다. 기본적으로 이 값은 0로 설정되어 있습니다.

설명
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 기본 동작인 내부 Python 작업자의 종속성에서 Python 라이브러리를 로드하는 우선 순위를 지정합니다. requirements.txt에 정의된 타사 라이브러리는 섀도 처리될 수 있습니다.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 requirements.txt에 정의된 애플리케이션의 패키지에서 Python 라이브러리 로드 우선 순위를 지정합니다. 이렇게 하면 라이브러리가 내부 Python 작업자의 라이브러리와 충돌하지 않습니다.

PYTHON_ENABLE_DEBUG_LOGGING

Python 함수 앱에서 디버그 수준 로깅을 사용하도록 설정합니다. 1 값은 디버그 수준 로깅을 사용하도록 설정합니다. 이 설정을 사용하지 않거나 값이 0인 경우 정보 및 상위 수준 로그만 Python 작업자에서 Functions 호스트로 보냅니다. Python 함수 실행을 디버그하거나 추적하는 경우 이 설정을 사용합니다.

Python 함수를 디버그하는 경우 필요에 따라 host.json 파일에서 디버그 또는 추적 로깅 수준도 설정해야 합니다. 자세한 내용은 Azure Functions에 대한 모니터링을 구성하는 방법을 참조하세요.

PYTHON_ENABLE_WORKER_EXTENSIONS

구성은 Python 함수 앱에만 적용됩니다. 이 구성을 1로 설정하면 requirements.txt에 정의된 Python 작업자 확장에서 작업자를 로드할 수 있습니다. 이를 통해 함수 앱은 타사 패키지에서 제공하는 새 기능에 액세스할 수 있습니다. 또한 앱에서 함수 로드 및 호출 동작을 변경할 수 있습니다. 이를 사용함으로써 발생하는 위험은 본인의 책임이므로, 선택한 확장을 신뢰할 수 있는지 확인합니다. Azure Functions는 확장에 대한 명시적 보증을 제공하지 않습니다. 확장을 사용하는 방법은 확장의 설명서 페이지 또는 추가 정보 문서를 참조하세요. 기본적으로 이 값은 0으로 설정됩니다.

설명
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Python 작업자 확장을 사용하지 않도록 설정합니다.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Python 작업자가 requirements.txt에서 확장을 로드하도록 허용합니다.

PYTHON_THREADPOOL_THREAD_COUNT

Python 언어 작업자에서 함수 호출을 실행하는 데 사용하는 최대 스레드 수를 지정합니다. Python 버전 3.8 이하의 경우 기본값은 1입니다. Python 버전 3.9 이상의 경우 이 값은 None으로 설정됩니다. 이 설정은 실행 중에 설정되는 스레드 수를 보장하지 않습니다. 이 설정은 Python이 스레드 수를 지정된 값으로 확장할 수 있도록 합니다. 이 설정은 Python 함수 앱에만 적용됩니다. 또한 이 설정은 코루틴에는 적용되지 않지만 동기 함수 호출에 적용됩니다.

샘플 값 최댓값
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

이 설정은 현재 미리 보기로 제공됩니다.

이 설정은 Azure Functions 스케일링 컨트롤러의 로깅을 제어합니다. 자세한 내용은 스케일링 컨트롤러 로그를 참조하세요.

샘플 값
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

이 키의 값은 다음과 같이 정의된 <DESTINATION>:<VERBOSITY> 형식으로 제공됩니다.

속성 설명
<DESTINATION> 로그가 전송되는 대상입니다. 유효한 값은 AppInsightsBlob입니다.
AppInsights를 사용할 때 함수 앱에서 Application Insights가 사용하도록 설정되어 있는지 확인합니다.
대상을 Blob로 설정하면 AzureWebJobsStorage 애플리케이션 설정에 설정된 기본 스토리지 계정에서 azure-functions-scale-controller라는 Blob 컨테이너에 로그가 생성됩니다.
<VERBOSITY> 로깅 수준을 지정합니다. 지원되는 값은 None, WarningVerbose입니다.
Verbose로 설정되면 크기 조정 컨트롤러는 모든 작업자 수 변경의 이유 및 해당 결정을 촉발한 트리거에 대한 정보를 기록합니다. 자세한 로그에는 크기 조정 컨트롤러를 실행하기 전후에 트리거에서 사용한 트리거 경고 및 해시가 포함됩니다.

크기 조정 컨트롤러 로깅을 사용하면 함수 앱 모니터링 비용에 영향을 줍니다. 크기 조정 컨트롤러의 동작을 이해하는 데 충분한 데이터를 수집할 때까지는 로깅을 사용하는 것이 좋습니다.

SCM_DO_BUILD_DURING_DEPLOYMENT

배포 중 원격 빌드 동작을 제어합니다. SCM_DO_BUILD_DURING_DEPLOYMENTtrue로 설정되면 배포 중에 프로젝트가 원격으로 빌드됩니다.

샘플 값
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

스트리밍 로그에 연결된 경우 시간 초과(초)를 제어합니다. 기본값은 7200(2시간)입니다.

샘플 값
SCM_LOGSTREAM_TIMEOUT 1800

위의 샘플 값 1800은 30분의 시간 초과를 설정합니다. 자세한 내용은 Azure Functions에서 스트리밍 실행 로그 사용을 참조하세요.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

이벤트 기반 스케일링 플랜에 함수 앱 코드와 구성이 저장되는 스토리지 계정에 대한 연결 문자열입니다. 자세한 내용은 스토리지 계정 연결 설정을 참조하세요.

샘플 값
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

이 설정은 Windows 및 Linux 모두에서 소비 및 Elastic Premium 플랜 앱에 필요합니다. Functions에 의해 동적으로 크기 조정되지 않는 전용 플랜 앱에는 필요하지 않습니다.

이 설정을 변경하거나 제거하면 함수 앱이 시작되지 않을 수 있습니다. 자세히 알아보려면 이 문제 해결 문서를 참조하세요.

Azure Files는 파일 공유에 액세스할 때 관리 ID 사용을 지원하지 않습니다. 자세한 내용은 Azure Files 지원되는 인증 시나리오를 참조하세요.

WEBSITE_CONTENTOVERVNET

Important

WEBSITE_CONTENTOVERVNET은 vnetContentShareEnabled 사이트 속성으로 바뀐 레거시 앱 설정입니다.

1 값을 사용하면 스토리지 계정이 가상 네트워크로 제한된 경우 함수 앱을 스케일링할 수 있습니다. 스토리지 계정을 가상 네트워크로 제한할 때 이 설정을 사용하도록 설정해야 합니다. WEBSITE_CONTENTSHAREWEBSITE_CONTENTAZUREFILECONNECTIONSTRING을 사용할 때만 필요합니다. 자세히 알아보려면 가상 네트워크로 스토리지 계정 제한을 참조하세요.

샘플 값
WEBSITE_CONTENTOVERVNET 1

이 앱 설정은 탄력적 프리미엄전용(App Service) 플랜(표준 이상)에 필요합니다. 소비 계획에서 실행할 때는 지원되지 않습니다.

참고 항목

동일한 플랜에서 여러 함수 앱이 공유하는 스토리지 계정의 콘텐츠 공유로 라우팅할 때는 특별히 주의해야 합니다. 자세한 내용은 스토리지 고려 사항 문서에서 가상 네트워크를 통한 일관된 라우팅을 참조하세요.

WEBSITE_CONTENTSHARE

Functions에서 함수 앱 코드 및 구성 파일을 저장하는 데 사용하는 파일 공유의 이름입니다. 이 콘텐츠는 이벤트 기반 스케일링 플랜에 필요합니다. WEBSITE_CONTENTAZUREFILECONNECTIONSTRING를 사용합니다. 기본값은 런타임이 생성한 고유한 문자열로, 함수 앱 이름으로 시작됩니다. 자세한 내용은 스토리지 계정 연결 설정을 참조하세요.

샘플 값
WEBSITE_CONTENTSHARE functionapp091999e2

이 설정은 Windows 및 Linux 모두에서 사용 및 프리미엄 플랜 앱에 필요합니다. Functions에 의해 동적으로 크기 조정되지 않는 전용 플랜 앱에는 필요하지 않습니다.

함수 앱을 만들 때 공유가 만들어집니다. 이 설정을 변경하거나 제거하면 함수 앱이 시작되지 않을 수 있습니다. 자세히 알아보려면 이 문제 해결 문서를 참조하세요.

다음 고려 사항은 배포 중에 ARM(Azure Resource Manager) 템플릿 또는 Bicep 파일을 사용하여 함수 앱을 만들 때 적용됩니다.

  • 주 함수 앱 또는 슬롯의 앱에 대한 WEBSITE_CONTENTSHARE 값을 설정하지 않으면 고유한 공유 값이 생성됩니다. ARM 템플릿 배포에는 WEBSITE_CONTENTSHARE 를 설정하지 않는 것이 좋습니다.
  • 가상 네트워크에서 보안 스토리지 계정을 사용하는 경우와 같이 WEBSITE_CONTENTSHARE 값을 미리 정의된 값으로 설정해야 하는 시나리오가 있습니다. 이 경우 주 함수 앱과 각 배포 슬롯에 대한 앱에 고유한 공유 이름을 설정해야 합니다. 가상 네트워크에서 보호되는 스토리지 계정의 경우 자동화된 배포의 일부로 공유 자체를 만들어야 합니다. 자세한 내용은 보안 배포를 참조하세요.
  • WEBSITE_CONTENTSHARE를 슬롯 설정으로 만들지 마세요.
  • WEBSITE_CONTENTSHARE를 지정할 때 값은 공유 이름에 대해 이 지침을 따라야 합니다.

WEBSITE_DNS_SERVER

IP 주소를 확인할 때 앱에서 사용하는 DNS 서버를 설정합니다. 이 설정은 Azure DNS 프라이빗 영역프라이빗 엔드포인트 같은 특정 네트워킹 기능을 사용할 때 필요합니다.

샘플 값
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

Brotli 인코딩이 기본 gzip 압축 대신 압축에 사용되는지 여부를 제어합니다. WEBSITE_ENABLE_BROTLI_ENCODING1로 설정되면 Brotli 인코딩이 사용되고, 그렇지 않으면 gzip 인코딩이 사용됩니다.

WEBSITE_FUNCTIONS_ARMCACHE_ENABLED

ARM(Azure Resource Manager) 템플릿을 사용하여 함수 앱을 배포할 때 캐싱을 사용하지 않도록 설정합니다.

샘플 값
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

앱이 스케일링될 수 있는 최대 인스턴스 수입니다. 기본값은 무제한입니다.

Important

이 설정은 미리 보기로 제공됩니다. app property for function max scale out이 추가되었으며, 스케일링을 제한하는 권장 방법입니다.

샘플 값
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Windows만 해당합니다. Windows에서 함수 앱을 실행할 때 사용할 Node.js 버전을 설정합니다. 물결표(~)를 사용하여 런타임에서 대상 주 버전의 사용 가능한 최신 버전을 사용하도록 해야 합니다. 예를 들어 ~18로 설정하면 최신 버전의 Node.js 18이 사용됩니다. 물결표를 사용하여 주 버전을 대상으로 지정하면 부 버전을 수동으로 업데이트할 필요가 없습니다.

샘플 값
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

프리미엄 플랜에서 실행되는 함수 앱에서 슬롯 교환을 수행할 때 앱에서 사용하는 전용 스토리지 계정이 네트워크로 제한된 경우 교환에 실패할 수 있습니다. 이 실패는 Functions와 App Service 모두에서 공유하는 레거시 애플리케이션 로깅 기능으로 인해 발생합니다. 이 설정은 해당 레거시 로깅 기능을 재정의하고 교환이 발생하도록 허용합니다.

샘플 값
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

레거시 진단 설정이 교환을 차단하지 않도록 모든 슬롯에 값이 0WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS를 추가하세요. 이 설정과 값을 프로덕션 슬롯에만 배포 슬롯(고정) 설정으로 추가할 수도 있습니다.

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

기본적으로 함수 앱의 버전 설정은 각 슬롯에 따라 다릅니다. 이 설정은 배포 슬롯을 사용하여 함수를 업그레이드할 때 사용됩니다. 이렇게 하면 교환 후 버전 변경으로 인한 예기치 않은 동작이 방지됩니다. 프로덕션 및 슬롯에서 0으로 설정하여 모든 버전 설정도 교환되도록 합니다. 자세한 내용은 슬롯을 사용하여 업그레이드를 참조하세요.

샘플 값
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

로컬로 탑재하거나 외부 URL에 배포할 수 있는 패키지 파일에서 함수 앱을 실행할 수 있도록 합니다.

샘플 값
WEBSITE_RUN_FROM_PACKAGE 1

유효한 값은 외부 배포 패키지 파일의 위치를 확인하는 URL이거나 1입니다. 1로 설정하면 패키지는 d:\home\data\SitePackages 폴더에 있어야 합니다. WEBSITE_RUN_FROM_PACKAGE가 사용하도록 설정된 zip 배포를 사용하면 패키지가 자동으로 이 위치에 업로드됩니다. 미리 보기에서 이 설정은 WEBSITE_RUN_FROM_ZIP으로 명명되었습니다. 자세한 내용은 패키지 파일에서 Functions 실행을 참조하세요.

외부 패키지 URL에서 배포하는 경우 트리거도 수동으로 동기화해야 합니다. 자세한 내용은 트리거 동기화를 참조하세요.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

WEBSITE_CONTENTAZUREFILECONNECTIONSTRINGWEBSITE_CONTENTSHARE 설정에는 앱이 제대로 시작될 수 있는지 확인하기 위한 추가 유효성 검사가 있습니다. 함수 앱에서 네트워킹 제약 조건 또는 기타 제한 요인으로 인해 다운스트림 스토리지 계정 또는 Key Vault를 제대로 호출할 수 없는 경우 애플리케이션 설정을 만드는 데 실패합니다. WEBSITE_SKIP_CONTENTSHARE_VALIDATION이 1로 설정되면 유효성 검사를 건너뜁니다. 그렇지 않으면 값이 기본적으로 0으로 설정되고 유효성 검사가 수행됩니다.

샘플 값
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

유효성 검사를 건너뛰고 연결 문자열이나 콘텐츠 공유가 유효하지 않으면 앱을 제대로 시작할 수 없습니다. 이 경우 함수는 HTTP 500 오류를 반환합니다. 자세한 내용은 오류 문제 해결: "Azure Functions 런타임에 연결할 수 없음"을 참조하세요.

WEBSITE_SLOT_NAME

읽기 전용. 현재 배포 슬롯의 이름. 프로덕션 슬롯의 이름은 Production입니다.

샘플 값
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

함수 앱에 대한 표준 시간대를 설정할 수 있습니다.

OS 샘플 값
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

CRON 식과 함께 사용하는 기본 표준 시간대는 UTC(협정 세계시)입니다. 다른 표준 시간대를 기반으로 하는 CRON 식을 사용하려면 WEBSITE_TIME_ZONE이라는 함수 앱에 대한 앱 설정을 만듭니다.

이 설정의 값은 함수 앱이 실행되는 운영 체제 및 플랜에 따라 다릅니다.

운영 체제 계획
Windows 모두 Windows 명령 tzutil.exe /L에서 제공하는 각 쌍의 두 번째 줄에 지정된 원하는 표준 시간대의 이름으로 값을 설정합니다.
Linux Premium
전용
tz database에 나온 것과 같이 원하는 표준 시간대의 이름으로 값을 설정합니다.

참고 항목

WEBSITE_TIME_ZONETZ는 현재, 소비 플랜의 Linux에서 실행하는 것이 지원되지 않습니다. 이 경우 WEBSITE_TIME_ZONE 또는 TZ를 설정하면 SSL 관련 문제가 생성되고 메트릭이 앱에 대해 작동하지 않을 수 있습니다.

예를 들어 미국 동부 표준시(Eastern Standard Time(Windows) 또는 America/New_York(Linux)로 표시)는 현재 표준 시간 동안 UTC-05:00를 사용하고 일광 절약 시간 동안에는 UTC-04:00를 사용합니다. 매일 오전 10시(미국 동부 표준시)에 타이머 트리거를 두려면 WEBSITE_TIME_ZONE이라는 함수 앱에 대한 앱 설정을 만들고, 값을 Eastern Standard Time(Windows) 또는 America/New_York(Linux)로 설정하고, 다음 NCRONTAB 식을 사용합니다.

"0 0 10 * * *"

WEBSITE_TIME_ZONE을 사용하는 경우 일광 절약 시간 및 표준 시간의 변경을 포함하여 특정 시간대의 시간 변경에 따라 조정됩니다.

WEBSITE_USE_PLACEHOLDER

소비 플랜에서 실행할 때 특정 콜드 부팅 최적화를 사용할지 여부를 나타냅니다. 소비 플랜에서 콜드 부팅 최적화를 사용하지 않도록 설정하려면 0으로 설정합니다.

샘플 값
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

소비 플랜에서 .NET 격리 작업자 프로세스 함수를 실행할 때 특정 콜드 시작 최적화를 사용할지 여부를 나타냅니다. 소비 플랜에서 콜드 부팅 최적화를 사용하지 않도록 설정하려면 0으로 설정합니다.

샘플 값
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Important

WEBSITE_VNET_ROUTE_ALL은 vnetRouteAllEnabled 사이트 설정으로 바꿔진 레거시 앱 설정입니다.

앱의 모든 아웃바운드 트래픽이 가상 네트워크를 통해 라우팅되도록 할지 여부를 나타냅니다. 설정 값 1은 모든 애플리케이션 트래픽이 가상 네트워크를 통해 라우팅됨을 나타냅니다. 탄력적 프리미엄 및 전용 호스팅 플랜에서 지역 가상 네트워크 통합을 구성할 때 이 설정이 필요합니다. 또한 가상 네트워크 NAT 게이트웨이가 고정 아웃바운드 IP 주소를 정의하는 데 사용되는 경우에도 사용됩니다.

샘플 값
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

/home 디렉터리가 스케일링된 인스턴스 간에 공유되는지 여부를 나타내며 기본값은 true입니다. 컨테이너에 함수 앱을 배포할 경우 false로 설정해야 합니다.

App Service 사이트 설정

일부 구성은 언어 버전과 같은 사이트 설정으로 App Service 수준에서 유지 관리되어야 합니다. 이러한 설정은 REST API를 사용하거나 Azure CLI 또는 Azure PowerShell을 사용하여 포털에서 관리됩니다. 다음은 런타임 언어, OS 및 버전에 따라 필요할 수 있는 사이트 설정입니다.

AcrUseManagedIdentityCreds

관리 ID 인증을 사용하여 Azure Container Registry 인스턴스에서 이미지를 가져올지 여부를 나타냅니다. 값 true 은 보안 모범 사례로 저장된 인증 자격 증명보다 권장되는 관리 ID를 사용해야 합니다.

AcrUserManagedIdentityID

Azure Container Registry 인스턴스에서 이미지를 가져올 때 사용할 관리 ID를 나타냅니다. 으로 설정해야 AcrUseManagedIdentityCreds 합니다 true. 유효한 값은 다음과 같습니다.

설명
system 함수 앱의 시스템 할당 관리 ID가 사용됩니다.
<USER_IDENTITY_RESOURCE_ID> 사용자 할당 관리 ID의 정규화된 리소스 ID입니다.

지정한 ID를 컨테이너 레지스트리의 ACRPull 역할에 추가해야 합니다. 자세한 내용은 이미지를 사용하여 Azure에서 함수 앱 만들기 및 구성을 참조 하세요.

alwaysOn

전용(App Service) 플랜에서 실행되는 함수 앱에서 Functions 런타임은 몇 분 동안 활동이 없으면 유휴 상태가 되며, 이 경우 HTTP 트리거에 대한 요청만 함수 앱의 절전 모드를 해제합니다. 타이머 트리거 함수를 포함하여 비 HTTP 트리거 함수가 올바르게 실행되도록 하려면 alwaysOn 사이트 설정을 true 값으로 설정하여 함수 앱에 대해 Always On을 활성화합니다.

functionsRuntimeAdminIsolationEnabled

함수 앱의 기본 제공 관리자(/admin) 엔드포인트에 액세스할 수 있는지 여부를 결정합니다. false(기본값)로 설정하면 앱은 해당 요청이 요청에서 마스터 키를 표시할 때 /admin 아래의 엔드포인트에 대한 요청을 허용합니다. true인 경우 마스터 키를 사용하더라도 /admin 엔드포인트에 액세스할 수 없습니다.

이 속성은 Linux 사용 SKU에서 실행되는 앱에 대해 설정할 수 없으며, Azure Functions 버전 1.x에서 실행되는 앱에 대해 설정할 수 없습니다. 버전 1.x를 사용하는 경우 먼저 버전 4.x로 마이그레이션해야 합니다.

linuxFxVersion

Linux에서 실행되는 함수 앱의 경우 linuxFxVersion은 언어별 작업자 프로세스의 언어 및 버전을 나타냅니다. 이 정보는 FUNCTIONS_EXTENSION_VERSION과 함께 함수 앱을 실행하기 위해 설치된 특정 Linux 컨테이너 이미지를 결정하는 데 사용됩니다. 이 설정은 미리 정의된 값 또는 사용자 지정 이미지 URI로 설정할 수 있습니다.

이 값은 Linux 함수 앱을 만들 때 설정됩니다. ARM 템플릿 및 Bicep 배포와 특정 업그레이드 시나리오의 경우 이 설정을 지정해야 할 수 있습니다.

유효한 linuxFxVersion 값

다음 Azure CLI 명령을 사용하여 지원되는 Functions 런타임 버전별로 현재 linuxFxVersion 값의 테이블을 볼 수 있습니다.

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

이전 명령을 사용하려면 Azure CLI 버전 2.40으로 업그레이드해야 합니다.

사용자 지정 이미지

함수 앱에 대한 사용자 지정 Linux 컨테이너를 만들고 유지 관리하는 경우 다음 예와 같이 linuxFxVersion 값은 대신 DOCKER|<IMAGE_URI> 형식이 됩니다.

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

배포된 컨테이너의 레지스트리 원본을 나타냅니다. 자세한 내용은 컨테이너 및 Azure Functions 작업을 참조하세요.

Important

자체 컨테이너를 만들 때 컨테이너의 기본 이미지를 지원되는 최신 기본 이미지로 업데이트해야 합니다. Azure Functions에 지원되는 기본 이미지는 언어별로 다르며 Azure Functions 기본 이미지 리포지토리에서 찾을 수 있습니다.

Functions 팀은 이러한 기본 이미지에 대한 월별 업데이트를 게시하기 위해 최선을 다하고 있습니다. 정기 업데이트에는 Functions 런타임 및 언어 모두에 대한 최신 부 버전 업데이트 및 보안 수정 사항이 포함됩니다. 정기적으로 최신 기본 이미지에서 컨테이너를 업데이트하고 업데이트된 버전의 컨테이너를 다시 배포해야 합니다.

netFrameworkVersion

C# 함수용 .NET의 특정 버전을 설정합니다. 자세한 내용은 Azure에서 함수 앱 업데이트를 참조하세요.

powerShellVersion

함수가 실행되는 특정 버전의 PowerShell을 설정합니다. 자세한 내용은 PowerShell 버전 변경을 참조하세요.

로컬에서 실행하는 경우 대신 local.settings.json 파일의 FUNCTIONS_WORKER_RUNTIME_VERSION 설정을 사용합니다.

vnetContentShareEnabled

프리미엄 플랜에서 실행되는 앱은 파일 공유를 사용하여 콘텐츠를 저장합니다. 이 콘텐츠 공유의 이름은 WEBSITE_CONTENTSHARE 앱 설정에 저장되고 해당 연결 문자열은 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING에 저장됩니다. 가상 네트워크를 통해 함수 앱과 콘텐츠 공유 간에 트래픽을 라우팅하려면 vnetContentShareEnabledtrue로 설정해야 합니다. 탄력적 프리미엄 및 전용 호스팅 플랜에서 스토리지 계정을 가상 네트워크로 제한할 때 이 사이트 속성을 사용하도록 설정해야 합니다.

참고 항목

동일한 플랜에서 여러 함수 앱이 공유하는 스토리지 계정의 콘텐츠 공유로 라우팅할 때는 특별히 주의해야 합니다. 자세한 내용은 스토리지 고려 사항 문서에서 가상 네트워크를 통한 일관된 라우팅을 참조하세요.

이 사이트 속성은 레거시 WEBSITE_CONTENTOVERVNET 설정을 바꿉니다.

vnetImagePullEnabled

Functions는 Linux 컨테이너에서 실행되는 함수 앱을 지원합니다. 가상 네트워크 내부의 컨테이너 레지스트리에서 연결하고 끌어오려면 vnetImagePullEnabledtrue로 설정해야 합니다. 이 사이트 속성은 탄력적 프리미엄 및 전용 호스팅 플랜에서 지원됩니다. Flex 사용량 플랜은 네트워킹을 구성하기 위해 사이트 속성이나 앱 설정을 사용하지 않습니다. 자세한 내용은 Flex 사용량 플랜 사용 중단을 참조하세요.

vnetRouteAllEnabled

앱의 모든 아웃바운드 트래픽이 가상 네트워크를 통해 라우팅되도록 할지 여부를 나타냅니다. 설정 값 true은 모든 애플리케이션 트래픽이 가상 네트워크를 통해 라우팅됨을 나타냅니다. 탄력적 프리미엄 및 전용 플랜에서 지역 가상 네트워크 통합을 구성할 때 이 설정을 사용합니다. 또한 가상 네트워크 NAT 게이트웨이가 고정 아웃바운드 IP 주소를 정의하는 데 사용되는 경우에도 사용됩니다. 자세한 내용은 애플리케이션 라우팅 구성을 참조하세요.

이 사이트 설정은 레거시 WEBSITE_VNET_ROUTE_ALL 설정을 바꿉니다.

Flex 사용량 플랜 사용 중단

Flex 사용량 플랜에서 다음 사이트 속성 및 애플리케이션 설정은 더 이상 사용되지 않으며 함수 앱 리소스를 만들 때 사용하면 안 됩니다.

속성/설정 원인
ENABLE_ORYX_BUILD Flex 사용량에 배포할 때 remoteBuild 매개 변수로 대체됨
FUNCTIONS_EXTENSION_VERSION 앱 설정은 백 엔드에서 설정됩니다. 1 미만 값은 무시할 수 있습니다.
FUNCTIONS_WORKER_RUNTIME properties.functionAppConfig.runtime에서 name으로 바뀜
FUNCTIONS_WORKER_RUNTIME_VERSION properties.functionAppConfig.runtime에서 version으로 바뀜
FUNCTIONS_MAX_HTTP_CONCURRENCY 크기 조정 및 동시성의 트리거 섹션으로 바뀜
FUNCTIONS_WORKER_PROCESS_COUNT 설정이 유효하지 않음
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED 설정이 유효하지 않음
SCM_DO_BUILD_DURING_DEPLOYMENT Flex 사용량에 배포할 때 remoteBuild 매개 변수로 대체됨
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING functionAppConfig의 배포 섹션으로 바뀜
WEBSITE_CONTENTOVERVNET Flex 사용량의 네트워킹에 사용되지 않음
WEBSITE_CONTENTSHARE functionAppConfig의 배포 섹션으로 바뀜
WEBSITE_DNS_SERVER DNS는 Flex의 통합 가상 네트워크에서 상속됩니다.
WEBSITE_NODE_DEFAULT_VERSION properties.functionAppConfig.runtime에서 version으로 바뀜
WEBSITE_RUN_FROM_PACKAGE Flex 사용량의 배포에 사용되지 않음
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 콘텐츠 공유는 Flex 사용량에 사용되지 않음
WEBSITE_VNET_ROUTE_ALL Flex 사용량의 네트워킹에 사용되지 않음
properties.alwaysOn 유효하지 않음
properties.containerSize instanceMemoryMB로 이름이 변경됨
properties.ftpsState FTPS 지원 안 함
properties.isReserved 유효하지 않음
properties.IsXenon 유효하지 않음
properties.javaVersion properties.functionAppConfig.runtime에서 version으로 바뀜
properties.LinuxFxVersion properties.functionAppConfig.runtime으로 대체
properties.netFrameworkVersion properties.functionAppConfig.runtime에서 version으로 바뀜
properties.powerShellVersion properties.functionAppConfig.runtime에서 version으로 바뀜
properties.siteConfig.functionAppScaleLimit maximumInstanceCount로 이름이 변경됨
properties.siteConfig.preWarmedInstanceCount alwaysReadyInstances로 이름이 변경됨
properties.use32BitWorkerProcess 32비트 지원 안 함
properties.vnetBackupRestoreEnabled Flex 사용량의 네트워킹에 사용되지 않음
properties.vnetContentShareEnabled Flex 사용량의 네트워킹에 사용되지 않음
properties.vnetImagePullEnabled Flex 사용량의 네트워킹에 사용되지 않음
properties.vnetRouteAllEnabled Flex 사용량의 네트워킹에 사용되지 않음
properties.windowsFxVersion 유효하지 않음

다음 단계

앱 설정 업데이트 방법 알아보기

host.json 파일의 구성 설정 보기

App Service 앱에 대한 다른 앱 설정 보기