Azure Logic Apps 및 Azure Functions를 사용하여 스트리밍 고객 인사이트 대시보드 만들기

적용 대상: Azure Logic Apps(소비)

Azure는 인프라에 대한 염려 없이 클라우드에서 앱을 빠르게 빌드하고 호스팅하는 데 도움이 되는 서버리스 도구를 제공합니다. 이 자습서에서는 고객 피드백을 트리거하고, 기계 학습을 사용하여 피드백을 분석하고, Power BI 또는 Azure Data Lake와 같은 원본에 인사이트를 게시하는 대시보드를 만들 수 있습니다.

이 솔루션의 경우 서버리스 앱에 이러한 주요 Azure 구성 요소인 Azure Functions 및 Azure Logic Apps를 사용합니다. Azure Logic Apps는 서버가 없는 구성 요소에서 오케스트레이션을 만들고 200개 이상의 서비스 및 API에 연결할 수 있도록 클라우드에서 서버를 사용하지 않는 워크플로 엔진을 제공합니다. Azure Functions는 클라우드에서 서버리스 컴퓨팅을 제공합니다. 이 솔루션은 미리 정의된 키워드(keyword) 기반으로 고객 트윗에 플래그를 지정하는 데 Azure Functions를 사용합니다.

이 시나리오에서는 고객의 피드백 찾기를 트리거하는 논리 앱을 만듭니다. 고객 피드백에 응답하는 데 도움이 되는 일부 커넥터에는 Outlook.com, Office 365, Survey Monkey, Twitter 및 웹 양식의 HTTP 요청이 포함됩니다. 사용자가 만든 워크플로는 Twitter에서 해시태그를 모니터링합니다.

Visual Studio에서 전체 솔루션을 빌드하고 Azure Resource Manager 템플릿을 사용하여 솔루션을 배포할 수 있습니다. 이 솔루션을 만드는 방법을 보여 주는 동영상 연습은 이 채널 9 비디오를 시청하세요.

고객 데이터에 대한 트리거

  1. Azure Portal 또는 Visual Studio에서 빈 논리 앱 워크플로를 만듭니다.

    논리 앱을 처음 접하는 경우 Azure Portal을 위한 빠른 시작 또는 Visual Studio을 위한 빠른 시작을 검토하세요.

  2. 워크플로 디자이너에서 다음 작업을 포함하는 Twitter 트리거를 찾아 추가합니다 . 새 트윗이 게시될 때

  3. 키워드(keyword) 또는 해시태그를 기반으로 트윗을 수신 대기하도록 트리거를 설정합니다.

    Twitter 트리거와 같은 폴링 기반 트리거에서 되풀이 속성은 논리 앱이 새 항목에 대해 검사 빈도를 결정합니다.

    Example of Twitter trigger

이 논리 앱은 이제 모든 새 트윗에서 실행됩니다. 그런 다음, 표현된 감정을 더 잘 이해할 수 있도록 트윗 데이터를 가져오고 분석할 수 있습니다.

트윗 텍스트 분석

일부 텍스트 뒤에 있는 감정을 감지하려면 Azure AI 서비스를 사용할 수 있습니다.

  1. 워크플로 디자이너의 트리거 아래에서 새 단계를 선택합니다.

  2. Text Analytics 커넥터를 찾습니다.

  3. 감정 검색 작업을 선택합니다.

  4. 메시지가 표시되면 Text Analytics 서비스에 유효한 Azure AI 서비스 키를 제공합니다.

  5. 요청 본문 아래에서 트윗 텍스트를 분석을 위한 입력으로 제공하는 트윗 텍스트 필드를 선택합니다.

트윗 데이터와 트윗에 대한 인사이트를 받은 후 이제 다른 여러 관련 커넥터 및 해당 작업을 사용할 수 있습니다.

  • Power BI - 스트리밍 데이터 세트에 행 추가: Power BI 대시보드에서 들어오는 트윗을 봅니다.
  • Azure Data Lake - 추가 파일: 분석 작업에 포함할 Azure Data Lake 데이터 세트에 고객 데이터를 추가합니다.
  • SQL - 행 추가: 나중의 검색을 위해 데이터베이스에 데이터를 저장합니다.
  • Slack - 메시지 보내기: 작업이 필요할 수 있는 부정적인 피드백에 대해 Slack 채널에 알립니다.

데이터에 대한 사용자 지정 처리를 수행할 수 있도록 Azure Function을 만들고 만들 수도 있습니다.

Azure Functions를 사용한 데이터 처리

함수를 만들기 전에 Azure 구독에서 함수 앱을 만듭니다. 또한 논리 앱이 함수를 직접 호출하려면 함수에 HTTP 트리거 바인딩이 있어야 합니다(예: HttpTrigger 템플릿 사용). Azure Portal에서 첫 번째 함수 앱 및 함수를 만드는 방법을 알아봅니다.

이 시나리오에서는 트윗 텍스트를 Azure Function에 대한 요청 본문으로 사용합니다. 함수 코드에서 트윗 텍스트에 키워드(keyword) 또는 구가 포함되어 있는지 여부를 결정하는 논리를 정의합니다. 시나리오에 필요한 만큼 함수를 단순하거나 복잡한 상태로 유지합니다. 함수의 끝에서 일부 데이터(예: 간단한 부울 값 또는 복합 개체) containsKeyword 를 사용하여 논리 앱에 대한 응답을 반환합니다.

논리 앱의 함수에서 복잡한 응답에 액세스하려면 JSON 구문 분석 작업을 사용합니다.

완료되면 함수를 저장한 다음 빌드하는 논리 앱에 함수를 작업으로 추가합니다.

논리 앱에 Azure 함수 추가

  1. 워크플로 디자이너의 감정 검색 작업에서 새 단계를 선택합니다.

  2. Azure Functions 커넥터를 찾은 다음, 만든 함수를 선택합니다.

  3. 요청 본문에서 트윗 텍스트를 선택합니다.

Configured Azure Function step

논리 앱 실행 및 모니터링

논리 앱에 대한 현재 또는 이전 실행을 검토하려면 Azure Portal, Visual Studio 또는 Azure REST API 및 SDK를 통해 Azure Logic Apps에서 제공하는 다양한 디버깅 및 모니터링 기능을 사용할 수 있습니다.

논리 앱을 쉽게 테스트하려면 논리 앱 디자이너에서 트리거 실행을 선택합니다. 조건을 충족하는 트윗을 찾을 때까지 지정한 일정에 따라 트리거가 트윗을 폴링합니다. 실행이 진행되는 동안 디자이너는 해당 실행에 대한 라이브 보기를 표시합니다.

Visual Studio 또는 Azure Portal에서 이전 실행 기록을 보려면 다음을 수행합니다.

  • Visual Studio 클라우드 탐색기를 엽니다. 논리 앱을 찾아서 앱의 바로 가기 메뉴를 엽니다. 실행 기록 열기를 선택합니다.

    Visual Studio 2019에 이 명령이 없으면 Visual Studio에 대한 최신 업데이트가 검사.

  • Azure Portal에서 논리 앱을 찾습니다. 논리 앱 메뉴에서 개요를 선택합니다.

자동화된 배포 템플릿 만들기

논리 앱 솔루션을 만든 후에는 앱을 캡처하여 전 세계 모든 Azure 지역에 Azure Resource Manager 템플릿으로 배포할 수 있습니다. 이 기능을 사용하여 서로 다른 버전의 앱을 만들고 솔루션을 Azure Pipelines에 통합하기 위한 매개 변수를 수정할 수 있습니다. 모든 종속성을 단일 템플릿으로 사용하여 전체 솔루션을 관리할 수 있도록 배포 템플릿에 Azure Functions를 포함할 수도 있습니다. 논리 앱 배포를 자동화하는 방법을 알아봅니다.

Azure 함수가 있는 배포 템플릿 예제의 경우 Azure 빠른 시작 템플릿 리포지토리를 검사.

다음 단계