Blob 스토리지에 의해 트리거되는 Azure의 함수 만들기

파일이 업로드되거나 Blob 스토리지 컨테이너에서 업데이트될 때 트리거되는 함수를 만드는 방법을 알아봅니다.

참고 항목

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

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

필수 구성 요소

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.

새 함수 앱을 만들었습니다.

Function app successfully created.

다음으로 새 함수 앱에서 함수를 만듭니다.

Azure Blob 스토리지 트리거 함수 만들기

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

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

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

    설정 제안 값 설명
    새 함수 함수 앱에서 고유 이 Blob 트리거 함수의 이름입니다.
    Path samples-workitems/{name} 모니터링되는 Blob Storage의 위치입니다. 바인딩에 name 매개 변수로 전달되는 Blob의 파일 이름입니다.
    스토리지 계정 연결 AzureWebJobsStorage 함수 앱에 이미 사용된 스토리지 계정 연결을 사용하거나 새로 만들 수 있습니다.

    Azure는 제공된 값에 따라 Blob Storage 트리거 함수를 만듭니다.

다음으로 samples-workitems 컨테이너를 만듭니다.

컨테이너 만들기

  1. 함수의 개요 페이지에서 리소스 그룹을 선택합니다.

    Select your Azure portal resource group.

  2. 리소스 그룹의 스토리지 계정을 찾아 선택합니다.

    Access the storage account.

  3. 컨테이너를 선택한 다음,+ 컨테이너를 선택합니다.

    Add container to your storage account in the Azure portal.

  4. 이름 필드에 samples-workitems를 입력한 다음, 만들기를 선택합니다.

    Name the storage container.

이제 Blob 컨테이너가 있고 컨테이너에 파일을 업로드하여 함수를 테스트할 수 있습니다.

함수 테스트

  1. Azure Portal로 돌아가서 함수를 찾은 후 페이지 맨 아래에 있는 로그를 확장하고 로그 스트리밍이 일시 중지되지 않았는지 확인합니다.

    Expand the log in the Azure portal.

  2. 별도의 브라우저 창에서 Azure Portal의 리소스 그룹으로 이동하고 스토리지 계정을 선택합니다.

  3. 컨테이너를 선택한 다음,samples-workitems 컨테이너를 선택합니다.

    Go to your samples-workitems container in the Azure portal.

  4. 업로드를 선택하고 폴더 아이콘을 선택하여 업로드할 파일을 선택합니다.

    Upload a file to the blob container.

  5. 로컬 컴퓨터에서 이미지 파일과 같은 파일을 찾아 선택합니다. 열기를 선택한 다음, 업로드를 선택합니다.

  6. 함수 로그로 돌아가 Blob을 읽었는지 확인합니다.

    View message in the logs.

    참고 항목

    함수 앱이 기본 소비 계획에서 실행될 때 추가 또는 업데이트되는 Blob과 트리거되는 함수 사이에 최대 몇 분의 지연이 있을 수 있습니다. Blob 트리거 함수에서 대기 시간을 줄여야 하는 경우 App Service 계획에서 함수 앱을 실행하는 것이 좋습니다.

리소스 정리

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

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

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

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

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

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

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

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

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

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

다음 단계

Blob Storage에서 Blob이 추가 또는 업데이트될 때 실행되는 함수를 만들었습니다. Blob Storage 트리거에 대한 자세한 내용은 Azure Functions Blob Storage 바인딩을 참조하세요.

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