Azure Event Grid를 사용하여 Blob Storage 이벤트를 웹 엔드포인트로 라우팅(Azure Portal)

Event Grid는 다양한 Azure 서비스 및 애플리케이션에서 이벤트를 쉽게 관리할 수 있는 완전 관리형 서비스입니다. 이벤트 기반 및 서버리스 애플리케이션 빌드를 간소화합니다. 서비스에 대한 개요는 Event Grid 개요를 참조하세요.

이 문서에서는 Azure Portal을 사용하여 다음 작업을 수행합니다.

  1. Blob 스토리지 계정을 만듭니다.
  2. 해당 Blob 스토리지에 대한 이벤트를 구독합니다.
  3. Blob 스토리지에 파일을 업로드하여 이벤트를 트리거합니다.
  4. 처리기 웹앱에서 결과를 봅니다. 일반적으로 이벤트 데이터를 처리하고 작업을 수행하는 엔드포인트에 이벤트를 보냅니다. 간단하게 유지하려면 메시지를 수집하고 표시하는 웹앱에 이벤트를 보냅니다.

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

작업을 완료하면 이벤트 데이터가 웹앱에 보내진 것을 확인할 수 있습니다.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

저장소 계정 만들기

  1. Azure 포털에 로그인합니다.

  2. Blob Storage를 만들려면 리소스 만들기를 선택합니다.

  3. 검색에서 스토리지 계정을 입력하고 결과 목록에서 스토리지 계정을 선택합니다.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. 스토리지 계정 페이지에서 만들기를 선택하여 스토리지 계정 만들기를 시작합니다. 이벤트를 구독하려면 범용 v2 스토리지 계정 또는 Blob Storage 계정을 만듭니다.

  5. 스토리지 계정 만들기 페이지에서 다음 단계를 수행합니다.

    1. Azure 구독을 선택합니다.

    2. 리소스 그룹의 경우 새 리소스 그룹을 만들거나 기존 리소스 그룹을 선택합니다.

    3. 스토리지 계정의 이름을 입력합니다.

    4. 스토리지 계정을 만들 지역을 선택합니다.

    5. 중복성의 경우 드롭다운 목록에서 LRS(로컬 중복 스토리지)를 선택합니다.

    6. 페이지 아래쪽에서 검토를 선택합니다.

      Screenshot showing the Create a storage account page.

    7. 검토 페이지에서 설정을 검토하고 만들기를 선택합니다.

      참고 항목

      StorageV2(범용 v2)BlobStorage 종류의 스토리지 계정만 이벤트 통합을 지원합니다. 스토리지(범용 v1)는 Event Grid와의 통합을 지원하지 않습니다.

  6. 배포를 완료하는 데 몇 분이 걸립니다. 배포 페이지에서 리소스로 이동을 선택합니다.

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. 스토리지 계정 페이지의 왼쪽 메뉴에서 이벤트를 선택합니다.

    Screenshot showing the Events page for an Azure storage account.

  8. 웹 브라우저에서 이 페이지를 열어 둡니다.

메시지 엔드포인트 만들기

Blob Storage 계정에 대한 이벤트를 구독하기 전에 이벤트 메시지에 대한 엔드포인트를 만들어 보겠습니다. 일반적으로 엔드포인트는 이벤트 데이터를 기반으로 작업을 수행합니다. 이 빠른 시작을 간소화하기 위해 이벤트 메시지를 표시하는 미리 작성된 웹앱을 배포합니다. 배포된 솔루션은 App Service 계획, App Service 웹앱 및 GitHub의 소스 코드를 포함합니다.

  1. Azure에 배포를 선택하여 구독에 솔루션을 배포합니다.

    Button to deploy the Resource Manager template to Azure.

  2. 사용자 지정 배포 페이지에서 다음 단계를 수행합니다.

    1. 리소스 그룹에서 스토리지 계정을 만들 때 생성된 것과 동일한 리소스 그룹을 선택합니다. 자습서를 완료한 후 리소스 그룹을 삭제하면 더 쉽게 정리할 수 있습니다.

    2. 사이트 이름에 웹앱의 이름을 입력합니다.

    3. 호스팅 계획 이름에 웹앱을 호스팅하는 데 사용할 App Service 계획의 이름을 입력합니다.

    4. 검토 + 만들기를 선택합니다.

      Screenshot showing the Custom deployment page.

  3. 리뷰 + 생성 페이지에서 생성를 선택합니다.

  4. 배포를 완료하는 데 몇 분이 걸립니다. 배포 페이지에서 리소스 그룹으로 이동을 선택합니다.

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. 리소스 그룹 페이지의 리소스 목록에서 자신이 만든 웹앱을 선택합니다. 이 목록에는 App Service 계획과 스토리지 계정도 표시됩니다.

    Screenshot that shows the selection of web app in the resource group.

  6. 웹앱의 App Service 페이지에서 URL을 선택하여 웹 사이트로 이동합니다. URL은 https://<your-site-name>.azurewebsites.net 형식이어야 합니다.

    Screenshot that shows the selection of link to navigate to web app.

  7. 사이트가 보이지만 사이트에 이벤트가 아직 게시되지 않았음을 확인합니다.

    View new site.

    Important

    이벤트가 게시될 때 볼 수 있도록 Azure Event Grid 뷰어 창을 열어 둡니다.

Event Grid 리소스 공급자 등록

이전에 Event Grid를 사용하지 않은 경우 Event Grid 리소스 공급자를 등록해야 합니다. 이전에 Event Grid 사용한 경우 다음 섹션으로 건너뜁니다.

Azure Portal에서 다음 단계를 수행합니다.

  1. 왼쪽 메뉴에서 구독을 선택합니다.

  2. 구독 목록에서 Event Grid에 사용할 구독을 선택합니다.

  3. 구독 페이지의 왼쪽 메뉴에 있는 설정에서 리소스 공급자를 선택합니다.

  4. Microsoft.EventGrid를 검색하고 상태등록되지 않음인지 확인합니다.

  5. 공급자 목록에서 Microsoft.EventGrid를 선택합니다.

  6. 명령 모음에서 등록을 선택합니다.

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. 새로 고침하여 Microsoft.EventGrid의 상태가 Registered로 변경되었는지 확인합니다.

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Blob Storage 구독

항목을 구독하여 Event Grid에 추적하려는 이벤트와 이벤트를 보낼 위치를 알립니다.

  1. 스토리지 계정 페이지를 닫은 경우 이전에 만든 Azure Storage 계정으로 이동합니다. 왼쪽 메뉴에서 모든 리소스를 선택하고 스토리지 계정을 선택합니다.

  2. 스토리지 계정 페이지의 왼쪽 메뉴에서 이벤트를 선택합니다.

  3. 추가 옵션웹 후크를 차례로 합니다. 엔드포인트에 대한 웹후크를 사용하여 뷰어 앱에 이벤트를 보냅니다.

    Screenshot showing the selection of Web Hook on the Events page.

  4. 이벤트 구독 만들기 페이지에서 다음 단계를 수행합니다.

    1. 이벤트 구독에 대한 이벤트 이름을 입력합니다.

    2. 시스템 항목이름을 입력합니다. 시스템 항목에 대한 자세한 내용은 시스템 항목 개요를 참조하십시오.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. 엔드포인트 유형으로 웹후크를 선택합니다.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. 엔드포인트에서 엔드포인트 선택을 선택하고 웹앱의 URL을 입력한 후 홈페이지 URL(예: https://spegridsite.azurewebsites.net/api/updates)에 api/updates를 추가한 다음, 선택 확인을 선택합니다.

    Screenshot showing the Select Web Hook page.

  6. 이제 이벤트 구독 만들기 페이지에서 만들기를 선택하여 이벤트 구독을 만듭니다.

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. 웹앱을 다시 확인하고, 구독 유효성 검사 이벤트를 보냈음을 확인합니다. 눈 모양 아이콘을 선택하여 이벤트 데이터를 확장합니다. Event Grid는 유효성 검사 이벤트를 보내므로 엔드포인트는 이벤트 데이터를 수신하려는 것을 확인할 수 있습니다. 웹앱은 구독의 유효성을 검사하는 코드를 포함합니다.

    Screenshot showing the Event Grid Viewer with the subscription validation event.

이제 이벤트를 트리거하여 Event Grid가 메시지를 사용자 엔드포인트에 어떻게 배포하는지 살펴 보겠습니다.

엔드포인트에 이벤트 보내기

파일을 업로드하여 Blob Storage에 대한 이벤트를 트리거합니다. 파일에는 특정 콘텐츠가 필요하지 않습니다.

  1. Azure Portal에서 Blob 스토리지 계정으로 이동하고 let 메뉴에서 컨테이너를 선택합니다.

  2. +컨테이너를 선택합니다. 컨테이너에 이름을 지정하고, 모든 액세스 수준을 사용하고, 만들기를 선택합니다.

    Screenshot showing the New container page.

  3. 새 컨테이너를 선택합니다.

    Screenshot showing the selection of the container.

  4. 파일을 업로드하려면 업로드를 선택합니다. Blob 업로드 페이지에서 테스트를 위해 업로드할 파일을 찾아 선택한 다음, 해당 페이지에서 업로드를 선택합니다.

    Screenshot showing Upload blob page.

  5. 테스트 파일을 찾아서 업로드합니다.

  6. 이벤트를 트리거했고 Event Grid가 구독할 때 구성한 엔드포인트로 메시지를 보냈습니다. 메시지는 JSON 형식이며 하나 이상의 이벤트가 있는 배열을 포함합니다. 다음 예제에서 JSON 메시지는 이벤트가 1개 있는 배열을 포함합니다. 웹앱을 확인한 다음, Blob 생성 이벤트를 수신했다고 알립니다.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

리소스 정리

이 이벤트로 작업을 계속하려는 경우 이 문서에서 만든 리소스를 정리하지 마세요. 계속하지 않으려는 경우 이 문서에서 만든 리소스를 삭제합니다.

리소스 그룹을 선택하고 리소스 그룹 삭제를 선택합니다.

다음 단계

이제 사용자 지정 항목 및 이벤트 구독을 만드는 방법에 대해 알아보았습니다. 다음으로 어떤 Event Grid가 도움이 되는지 자세히 알아보세요.