Core Tools를 사용하여 Azure에 함수 게시

완료됨

Core Tools를 사용하여 Azure에 함수를 게시할 수 있습니다.

이제 간단한 관심 함수를 빌드하고 테스트했으므로 Azure에 게시하려고 합니다. 함수가 웹에서 실행되는 것을 보는 것이 좋습니다. 이 경우 어디에서나 호출할 수 있도록 동료에게 URL을 보낼 수 있습니다.

함수 앱 만들기

Core Tools를 사용하여 프로젝트를 게시하려면 프로젝트를 호스트하는 데 사용되는 함수 앱을 포함하여 Azure에서 필요한 리소스를 만들어야 합니다. 함수에는 스토리지 계정도 필요합니다. Core Tools를 사용하여 이러한 Azure 리소스를 만들 수 없습니다. 대신 Azure Portal, Azure CLI 및 Azure PowerShell을 포함하는 Azure 관리 도구를 통해 함수 앱을 만듭니다. 다음 연습에서는 Azure CLI 명령을 az functionapp create 실행하여 코드를 게시할 수 있는 함수 앱을 만듭니다.

이 자습서의 범위 내에서 함수 앱을 만들 때 고려해야 할 가장 중요한 옵션은 언어 런타임입니다. 함수 앱은 단일 언어 런타임만 지원합니다. 게시하려는 로컬 함수 프로젝트가 이미 있는 경우 동일한 언어 런타임을 사용하여 함수 앱을 만들어야 합니다. 다른 런타임을 사용하여 앱에 프로젝트를 배포하려고 하면 게시가 중단되고 오류가 발생합니다.

Azure에 게시

함수 프로젝트를 Azure의 함수 앱에 게시하려면 함수 프로젝트 폴더에서 실행 func azure functionapp publish <app_name> 합니다. <app_name>은 프로젝트 폴더 이름이 아니라 Azure의 대상 함수 앱의 이름입니다. 두 이름은 다를 수 있습니다.

Publishing a function app with func azure functionapp publish.

Core Tools는 Azure에 로그인하라는 요청을 하지 않습니다. 대신 Azure CLI 또는 Azure PowerShell에서 세션 정보를 로드하여 구독 및 리소스에 액세스합니다. 이러한 도구 중 하나에 활성 세션이 없으면 게시가 실패합니다. Azure CLI 또는 Azure PowerShell 없이도 Core Tools에서 게시할 수 있습니다. 그러나, 당신이 그들을 가지고 있다면 그것은 더 쉽습니다. 하나 또는 다른 설치하는 것이 좋습니다. 게시하기 전에 로그인해야 합니다.

출력에 게시가 완료되었음을 나타내면 함수가 Azure에서 실행되고 있습니다. 최종 게시 출력은 각 HTTP 트리거 함수의 호출 URL을 포함하여 게시된 함수를 보여 줍니다.

알아야 할 사항

핵심 도구를 사용하여 함수를 게시할 때 유의해야 할 몇 가지 사항은 다음과 같습니다.

  • Core Tools는 게시하는 동안 함수 코드의 유효성을 검사하거나 테스트하지 않습니다.
  • 게시하기 전에 func start를 사용하여 테스트를 수행해야 합니다.
  • 게시할 때 대상 앱에 이미 있는 모든 함수는 프로젝트의 콘텐츠를 배포하기 전에 중지되고 삭제됩니다.
  • 이 순서대로 게시하면 여러 프로젝트의 함수를 하나의 앱으로 결합할 수 없습니다.
  • 앱에 필요한 모든 함수는 하나의 프로젝트에 있어야 합니다.
  • Azure에 게시해도 로컬 프로젝트와 대상 함수 앱 간에 어떤 관계도 생성되지 않습니다.
  • 단일 함수 프로젝트를 여러 함수 앱에 게시할 수 있습니다.
  • 또한 코드 작업을 수행할 때 프로젝트를 반복적으로 동일한 앱에 다시 게시할 수 있습니다.
  • 게시한 후 표시되는 호출 URL은 쿼리 문자열에 매개 변수를 code 포함할 수 있습니다.
  • 스크린샷에서 볼 수 있습니다. ?code=4FowT1ywMNoxqa...
  • HTTP 트리거 함수에는 요청 헤더 또는 쿼리 문자열에 비밀 함수 키를 전달해야 하는 권한 부여 수준의 함수가 있습니다.
  • Core Tools는 편의상 표시된 URL의 쿼리 문자열에 있는 키를 반환합니다.