Azure Functions에서 함수를 사용하지 않도록 설정하는 방법

이 문서에서는 Azure Functions에서 함수를 사용하지 않도록 설정하는 방법을 설명합니다. 함수를 사용하지 않도록 설정하려면 런타임에서 함수를 트리거하려는 이벤트를 무시하도록 합니다. 이 기능을 사용하면 전체 함수 앱을 수정하고 다시 게시하지 않고도 특정 함수가 실행되지 않도록 할 수 있습니다.

형식 AzureWebJobs.<FUNCTION_NAME>.Disabled 으로 설정된 앱 설정을 만들어 함수를 비활성화할 수 있습니다 true. Azure CLI, Azure PowerShell 및 Azure Portal의 함수 개요을 사용하는 등 여러 가지 방법으로 이 애플리케이션 설정을 만들고 수정할 수 있습니다.

애플리케이션 설정을 변경하면 함수 앱이 다시 시작됩니다. 자세한 내용은 Azure Functions에 대한 앱 설정 참조를 참조하세요.

기능 사용 안 함

다음 모드 중 하나를 사용하여 다음과 같은 QueueTrigger예제 함수를 사용하지 않도록 설정하는 앱 설정을 만듭니다.

함수의 개요 페이지에서사용사용 안 함 단추를 사용합니다. 이러한 단추는 AzureWebJobs.QueueTrigger.Disabled 앱 설정 값을 변경하는 방식으로 작동합니다. 함수별 앱 설정은 함수를 처음 사용하지 않도록 설정할 때 만들어집니다.

Function state switch

로컬 프로젝트에서 함수 앱에 게시하는 경우에도 포털을 사용하여 함수 앱에서 함수를 사용하지 않도록 설정할 수 있습니다.

참고 항목

사용하지 않도록 설정된 함수는 마스터 키를 사용하여 REST 엔드포인트를 호출하여 계속 실행할 수 있습니다. 자세한 내용은 사용 안 함 함수 실행을 참조하세요. 즉, 사용하지 않도록 설정한 함수는 마스터(호스트 키)를 사용하여 포털의 테스트/실행 창에서 시작할 경우 계속 실행됩니다.

슬롯에서 함수 사용 안 함

기본적으로 앱 설정은 배포 슬롯에서 실행되는 앱에도 적용됩니다. 그러나 특정 슬롯의 앱 설정을 설정하여 슬롯에서 사용하는 앱 설정을 재정의할 수 있습니다. 예를 들어 배포 테스트 중에는 함수가 프로덕션 환경에서 활성화되지 않도록 할 수 있습니다. 동시 실행을 방지하기 위해 슬롯에서 타이머 트리거 함수를 사용하지 않도록 설정하는 것이 일반적입니다.

스테이징 슬롯에서만 함수를 사용하지 않도록 설정하는 방법은 다음과 같습니다.

배포아래에서 배포 슬롯을 선택하고, 슬롯을 선택하고, 슬롯 인스턴스에서 함수를 선택하여 함수 앱의 슬롯 인스턴스로 이동합니다. 기능을 선택한 다음 함수의 개요 페이지에서사용사용 안 함 단추를 사용합니다. 이러한 단추는 AzureWebJobs.<FUNCTION_NAME>.Disabled 앱 설정 값을 변경하는 방식으로 작동합니다. 이 함수별 설정은 함수를 처음 사용하지 않도록 설정할 때 만들어집니다.

슬롯 인스턴스의 구성 에서 값이 trueAzureWebJobs.<FUNCTION_NAME>.Disabled 앱 설정을 직접 추가할 수도 있습니다. 슬롯 특정 앱 설정을 추가하는 경우 배포 슬롯 설정 상자를 확인해야 합니다. 이 옵션은 기본 교환하는 동안 슬롯을 사용하여 설정 값을 지정합니다.

자세한 내용은 Azure Functions 배포 슬롯을 참조하세요.

사용 안 함 함수 실행

REST 요청의 마스터 키를 사용 안 함 함수의 엔드포인트 URL에 제공하여 사용 안 함 함수를 계속 실행할 수 있습니다. 이러한 방식으로 다른 사용자가 액세스할 수 없도록 하면서 비활성화된 상태에서 Azure에서 함수를 개발하고 유효성을 검사할 수 있습니다. 요청에 다른 유형의 키를 사용하면 HTTP 404 응답이 반환됩니다.

주의

함수 앱에서는 마스터 키를 통해 높은 권한이 부여되므로, 이 키를 제3자와 공유하거나 네이티브 클라이언트 애플리케이션에 배포해서는 안 됩니다. 따라서 관리자 액세스 수준을 선택하는 경우 주의해야 합니다.

마스터 키에 대한 자세한 내용은 키 가져오기를 참조하세요. HTTP 이외 트리거 함수를 호출하는 방법에 대한 자세한 내용은 HTTP 이외 트리거 함수 수동 실행을 참조하세요.

로컬에서 함수 사용 안 함

함수는 로컬로 실행할 때와 동일한 방식으로 비활성화할 수 있습니다. 이름이 QueueTrigger인 함수를 사용하지 않도록 설정하려면 다음과 같이 local.settings.js파일의 Values 컬렉션에 항목을 추가합니다.

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true", 
    "AzureWebJobs.QueueTrigger.Disabled": true
  }
}

고려 사항

함수를 사용하지 않도록 설정할 때 다음 고려 사항을 확인합니다.

  • 이 문서에 설명된 방법을 사용하여 HTTP 트리거 함수를 사용하지 않도록 설정하면 로컬 컴퓨터와 포털에서 실행할 때 엔드포인트에 계속 액세스할 수 있습니다.

  • 현재는 Linux에서 실행할 때 하이픈(-)이 포함된 함수 이름을 사용하지 않도록 설정할 수 없습니다. Linux에서 실행할 때 함수를 사용하지 않도록 설정하려는 경우 함수 이름에 하이픈을 사용하지 마세요.

다음 단계

이 문서에서는 자동 트리거를 사용하지 않도록 설정하는 방법을 설명합니다. 트리거에 대한 자세한 내용은 트리거 및 바인딩을 참조하세요.