Azure Portal에서 일정에 따라 실행되는 함수 만들기

Azure Portal을 사용하여 정의한 일정에 따라 서버리스 실행되는 함수를 만드는 방법을 알아봅니다.

참고 항목

포털 내 편집은 JavaScript, PowerShell 및 C# 스크립트 함수에 대해서만 지원됩니다. Python 내부 편집은 사용량 계획에서 실행하는 경우에만 지원됩니다. 가능하면 항상 로컬에서 함수를 개발해야 합니다.

Azure Portal의 함수 코드 편집 관련 제한 사항에 대해 자세히 알아보려면 Azure Portal의 개발 제한 사항을 참조하세요.

필수 조건

이 자습서를 완료하려면 다음이 필요합니다.

Azure 구독이 있는지 확인합니다. Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

함수 앱 만들기

  1. Azure Portal 메뉴 또는 페이지에서 리소스 만들기를 선택합니다.

  2. 새로 만들기 페이지에서 컴퓨팅>함수 앱을 선택합니다.

  3. 기본 사항 페이지에서 함수 앱 설정을 다음 표에서 지정한 대로 사용합니다.

    설정 제안 값 설명
    구독 구독 새 함수 앱을 만드는 데 사용되는 구독입니다.
    리소스 그룹 myResourceGroup 함수 앱을 만들 새 리소스 그룹의 이름입니다. 기존 리소스 그룹에서 새 함수 앱을 만들 때 알려진 제한 사항이 있으므로 새 리소스 그룹을 만들어야 합니다.
    함수 앱 이름 전역적으로 고유한 이름 새 함수 앱을 식별하는 이름입니다. 유효한 문자는 a-z(대/소문자 구분 안 함), 0-9-입니다.
    코드 또는 컨테이너 이미지를 배포하려고 하나요? 코드 코드 파일 또는 Docker 컨테이너를 게시하는 옵션입니다.
    런타임 스택 기본 언어 즐겨찾는 함수 프로그래밍 언어를 지원하는 런타임을 선택합니다. 포털 내 편집은 JavaScript, PowerShell, Python, TypeScript 및 C# 스크립트에만 사용할 수 있습니다. C# 클래스 라이브러리 및 Java 함수는 로컬로 개발해야 합니다.
    버전 버전 번호 설치된 런타임의 버전을 선택합니다.
    지역 기본 지역 사용자 또는 함수가 액세스할 수 있는 기타 서비스에 가까운 지역을 선택합니다.
    운영 체제 Windows 운영 체제는 런타임 스택 선택에 따라 미리 선택되지만 필요한 경우 설정을 변경할 수 있습니다. 포털 내 편집은 Windows에서만 지원됩니다. 컨테이너 게시는 Linux에서만 지원됩니다.
    호스팅 옵션 및 계획 ‘사용량(서버리스)’ 함수 앱에 리소스가 할당되는 방법을 정의하는 호스팅 계획입니다. 기본 소비 플랜에서 함수의 필요에 따라 리소스가 동적으로 추가됩니다. 이 서버리스 호스팅에서는 함수가 실행되는 시간 만큼만 요금을 지불하면 됩니다. 프리미엄 플랜은 동적 크기 조정도 제공합니다. App Service 계획에서 실행하는 경우 함수 앱의 크기 조정을 관리해야 합니다.
  4. 스토리지 탭에서 새 스토리지 계정을 만들고 모니터링 탭에서 새 Application Insight 인스턴스를 만드는 기본 옵션을 수락합니다. 기존 스토리지 계정이나 Application Insights 인스턴스를 사용하도록 선택할 수도 있습니다.

  5. 검토 + 만들기를 선택하여 선택한 앱 구성을 검토한 다음 만들기를 선택하여 함수 앱을 프로비전하고 배포합니다.

  6. 포털의 오른쪽 위 모서리에 있는 알림 아이콘을 선택하고 배포 성공 메시지를 확인합니다.

  7. 리소스로 이동을 선택하여 함수 앱을 봅니다. 대시보드에 고정을 선택할 수도 있습니다. 고정하면 대시보드에서 이 함수 앱 리소스로 쉽게 돌아올 수 있습니다.

    Screenshot of deployment notification.

새 함수 앱을 사용할 준비가 되었습니다. 다음으로 새 함수 앱에서 함수를 만듭니다.

Screenshot showing successful creation of the function app.

타이머 트리거 함수 만들기

  1. 함수 앱에서 개요를 선택한 다음, 함수에서 + 만들기를 선택합니다.

    Screenshot of adding a function in the Azure portal.

  2. 템플릿 선택에서 아래로 스크롤하여 타이머 트리거 템플릿을 선택합니다.

    Screenshot of select the timer trigger page in the Azure portal.

  3. 템플릿 세부 정보에서 이미지 아래의 표에 지정된 설정을 사용하여 새 트리거를 구성한 후 만들기를 선택합니다.

    Screenshot that shows the New Function page with the Timer Trigger template selected.

    설정 제안 값 Description
    이름 기본값 타이머 트리거 함수의 이름을 정의합니다.
    예약 0 */1 * * * * 1분마다 함수가 실행되도록 예약하는 6개 필드의 CRON 식입니다.

함수 테스트

  1. 함수에서 코드 + 테스트를 선택하고 로그를 확장합니다.

    Screenshot of the Test the timer trigger page in the Azure portal.

  2. 로그에 기록된 정보를 확인하여 실행을 확인합니다.

    Screenshot showing the View the timer trigger page in the Azure portal.

이제 함수의 일정을 변경하여 1분이 아니라 1시간에 한 번 실행되도록 합니다.

타이머 일정 업데이트

  1. 함수에서 통합을 선택합니다. 여기서 함수에 대한 입력 및 출력 바인딩을 정의하고 일정도 설정합니다.

  2. 타이머(myTimer)를 선택합니다.

    Screenshot of Update the timer schedule page in the Azure portal.

  3. 일정 값을 0 0 */1 * * *로 업데이트한 후 저장을 선택합니다.

    Screenshot of the Update function timer schedule page in the Azure portal.

함수는 이제 한 시간마다 한 번씩 실행됩니다.

리소스 정리

이 컬렉션의 다른 빠른 시작은 이 빠른 시작을 기반으로 구성됩니다. 이후의 빠른 시작, 자습서 또는 기타 이 빠른 시작에서 만든 서비스를 사용하여 작업하려는 경우 이 빠른 시작에서 만든 리소스를 정리하지 않습니다.

Azure에서 리소스란 함수 앱, 함수, 스토리지 계정 등을 의미합니다. 리소스는 리소스 그룹으로 그룹화되며 그룹을 삭제하면 그룹의 모든 항목을 삭제할 수 있습니다.

이러한 빠른 시작을 완료하기 위해 리소스를 만들었습니다. 이러한 리소스에 대한 요금이 계정 상태서비스 가격 책정에 따라 청구될 수 있습니다. 리소스가 더 이상 필요하지 않게 되면 다음과 같이 삭제합니다.

  1. Azure Portal에서 리소스 그룹 페이지로 이동합니다.

    함수 앱 페이지에서 해당 페이지로 이동하려면 개요 탭을 선택한 다음, 리소스 그룹 아래의 링크를 선택합니다.

    Screenshot that shows select the resource group to delete from the function app page.

    대시보드에서 해당 페이지로 이동하려면 리소스 그룹을 선택한 다음, 이 문서에 사용한 리소스 그룹을 선택합니다.

  2. 리소스 그룹 페이지에서 포함된 리소스 목록을 검토하고 삭제하려는 항목인지 확인합니다.

  3. 리소스 그룹 삭제를 선택하고 지시를 따릅니다.

    삭제하는 데 몇 분 정도 걸릴 수 있습니다. 완료되면 알림이 잠시 표시됩니다. 또한 페이지 위쪽의 종 모양 아이콘을 선택하여 알림을 확인할 수도 있습니다.

다음 단계

일정에 따라 실행되는 함수를 만들었습니다. 타이머 트리거에 대한 자세한 내용은 Azure Functions를 사용하여 코드 실행 예약을 참조하세요.

첫 번째 함수를 만들었으므로, Storage 큐에 메시지를 작성하는 함수에 출력 바인딩을 추가해 보겠습니다.