다음을 통해 공유


자습서: Azure Logic Apps를 사용하여 일정 기반 자동화된 워크플로 만들기

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

이 자습서에서는 Azure Logic Apps를 사용하여 되풀이 일정에 따라 실행되는 예제 워크플로를 빌드하는 방법을 보여줍니다. 이 예제에서는 특히 트래픽을 포함한 이동 시간을 확인하는 소비 논리 앱 워크플로를 두 위치 간에 만들고 평일 아침에 실행합니다. 시간이 특정 제한을 초과하면 워크플로에서는 이동 시간 및 목적지에 도달하는 데 걸린 추가 시간이 포함된 이메일을 보냅니다. 워크플로에는 일정 기반 트리거에 이어 Bing Maps 작업, 데이터 연산 작업, 제어 흐름 작업 및 이메일 알림 작업으로 이어지는 다양한 단계가 포함되어 있습니다.

완료되면 워크플로는 다음과 같은 상위 수준 예제와 같습니다.

스크린샷은 되풀이 트리거와 함께 실행되는 예제 소비 워크플로를 보여줍니다.

자세한 내용은 Azure Copilot에 다음 질문을 하면 됩니다.

  • Azure Logic Apps란?
  • 사용량 논리 앱 워크플로란?
  • Bing Maps 커넥터란?
  • 데이터 작업 작업은 무엇인가요?
  • 제어 흐름 동작이란?
  • Office 365 Outlook 커넥터란?

Azure Copilot을 찾으려면 Azure Portal 도구 모음에서 Copilot을 선택합니다.

표준 논리 앱 리소스를 사용하여 유사한 워크플로를 만들 수 있습니다. 그러나 사용자 환경 및 자습서 단계는 소비 버전과 약간 다릅니다.

필수 조건

  • Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.

  • Office 365 Outlook 또는 Outlook.com 같은 Azure Logic Apps에서 지원하는 전자 메일 공급자의 전자 메일 계정입니다. 지원되는 다른 전자 메일 공급자는 Azure Logic Apps용 커넥터를 참조 하세요.

    이 자습서에서는 회사 또는 학교 계정으로 Office 365 Outlook을 사용합니다. 다른 전자 메일 계정을 사용하는 경우 일반 단계는 동일하게 유지되지만 사용자 환경은 약간 다를 수 있습니다. Outlook.com 사용하는 경우 개인 Microsoft 계정을 대신 사용하여 로그인합니다.

    Important

    Gmail 커넥터를 사용하려는 경우 G Suite 비즈니스 계정만 논리 앱 워크플로에서 제한 없이 이 커넥터를 사용할 수 있습니다. Gmail 소비자 계정이 있는 경우 특정 Google 승인 서비스에서만 이 커넥터를 사용하거나 Gmail 커넥터 인증에 사용할 Google 클라이언트 앱을 만들 수 있습니다. 자세한 내용은 Azure Logic Apps의 Google 커넥터에 대한 데이터 보안 및 개인정보처리방침을 참조하세요.

  • 경로의 이동 시간 정보를 가져오려면 Bing 지도 API에 대한 액세스 키가 필요합니다. 이 키를 가져오려면 Bing 지도 키를 가져오는 방법의 단계를 수행합니다.

  • 워크플로가 트래픽을 특정 IP 주소로 제한하는 방화벽을 통해 통신해야 하는 경우 해당 방화벽은 논리 앱 리소스가 있는 Azure 지역의 Azure Logic Apps에서 사용하는 인바운드아웃바운드 IP 주소 모두에 대한 액세스를 허용해야 합니다. 워크플로에서 Office 365 Outlook 커넥터 또는 SQL 커넥터와 같은 관리형 커넥터를 사용하거나 사용자 지정 커넥터를 사용하는 경우 방화벽에서 논리 앱 리소스의 Azure 지역에 있는 관리형 커넥터 아웃바운드 IP 주소 모두에 대한 액세스도 허용해야 합니다.

사용량 논리 앱 리소스 만들기

  1. Azure Portal에서 Azure 계정을 사용하여 로그인합니다.

  2. Azure Portal 검색 상자에서 논리 앱을 입력하고 논리 앱을 선택합니다.

    논리 앱에 대해 논리 앱을 입력하고 선택한 옵션이 있는 Azure Portal 검색 상자를 보여주는 스크린샷.

  3. Logic Apps 페이지 도구 모음에서 추가를 선택합니다.

    논리 앱 만들기 페이지가 나타나고 다음 옵션이 표시됩니다.

    계획 설명
    소비 다중 테넌트 Azure Logic Apps에서 실행되고 청구에 소비 모델을 사용하는 하나의 워크플로만 지원하는 논리 앱 리소스를 만듭니다.
    Standard 여러 워크플로를 지원하는 논리 앱 리소스를 만듭니다. 다음과 같은 옵션이 있습니다.

    - 워크플로 서비스 계획: 워크플로는 단일 테넌트 Azure Logic Apps에서 실행되며 청구표준 모델을 사용합니다.

    - App Service Environment V3: 워크플로는 단일 테넌트 Azure Logic Apps에서 실행되며 청구App Service Environment 계획을 사용합니다.
  4. 논리 앱 만들기 페이지에서 소비(다중 테넌트)를 선택합니다.

  5. 기본 사항 탭에서 논리 앱 리소스에 대한 다음 정보를 제공합니다.

    속성 필요함 Description
    구독 <Azure-subscription-name> Azure 구독 이름.

    이 예에서는 종량제를 사용합니다.
    리소스 그룹 <Azure-resource-group-name> 논리 앱 및 관련 리소스를 만드는 Azure 리소스 그룹입니다. 해당 이름은 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()), 마침표(.)만 포함할 수 있습니다.

    이 예제에서는 LA-TravelTime-RG라는 리소스 그룹을 만듭니다.
    논리 앱 이름 <logic-app-resource-name> 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()) 및 마침표(.)만 포함할 수 있는 논리 앱 리소스 이름입니다.

    이 예제에서는 LA-TravelTime이라는 논리 앱 리소스를 만듭니다.
    지역 <Azure-region> 앱의 Azure 데이터 센터 지역입니다.

    이 예제에서는 미국 서부를 사용합니다.
    로그 분석 사용 문제 진단 로깅을 사용하도록 설정하려는 경우에만 이 옵션을 변경합니다. 이 자습서에서는 기본 선택을 유지합니다.

    참고: 이 옵션은 소비 논리 앱에서만 사용할 수 있습니다.

    참고 항목

    가용성 영역은 가용성 영역을 지원하는 Azure 지역의 신규 및 기존 사용량 논리 앱 워크플로에 대해 자동으로 사용하도록 설정됩니다. 자세한 내용은 Azure Functions 내 안정성을 참조하고 영역 중복성 및 가용성 영역 지역 오류로부터 논리 앱을 보호합니다.

    완료한 후 설정은 다음 예제와 유사하게 표시됩니다.

    다중 테넌트 소비 논리 앱 및 세부 정보에 대한 Azure Portal 및 만들기 페이지를 보여 줍니다.

  6. 완료되면 검토 + 만들기를 선택합니다. Azure에서 논리 앱 리소스에 대한 정보의 유효성을 검사한 후 만들기를 선택합니다.

  7. Azure에서 논리 앱 리소스를 배포한 후 리소스로 이동을 선택합니다. 또는 Azure 검색 상자를 사용하여 논리 앱 리소스를 찾아 선택합니다.

다음으로 지정된 일정에 따라 워크플로를 실행하는 되풀이라는 일정 트리거를 추가합니다. 모든 워크플로는 특정 이벤트가 발생하거나 새 데이터가 특정 조건을 충족할 때 실행되는 트리거로 시작해야 합니다.

되풀이 트리거 추가

  1. 워크플로 디자이너에서 다음 일반 단계에 따라 되풀이라는 일정 트리거를 추가합니다.

  2. 되풀이 트리거의 이름을 다음 제목으로 바꿉니다. 평일 아침마다 이동 시간을 확인합니다.

    스크린샷은 이름이 변경된 트리거가 있는 되풀이 트리거에 대한 워크플로 디자이너 및 정보 창을 보여줍니다.

  3. 트리거 정보 상자에서 다음 정보를 제공합니다.

    매개 변수 설명
    Interval 1 검사 간에 대기하는 간격의 수
    빈도 Week 되풀이에 사용할 시간 단위
    요일 선택 월요일, 화요일, 수요일, 목요일, 금요일 이 설정은 빈도로 설정한 경우에만 사용할 수 있습니다.
    시간 선택 7, 8, 9 이 설정은 빈도 또는 로 설정한 경우에만 사용할 수 있습니다. 이 되풀이의 실행 시간을 선택합니다. 이 예제는 7, 89시간 표시에서 실행됩니다.
    분 선택 0, 15, 30, 45 이 설정은 빈도 또는 로 설정한 경우에만 사용할 수 있습니다. 이 되풀이를 실행할 분을 선택합니다. 이 예제에서는 0시 표시에서 시작하여 15분마다 실행됩니다.

    완료되면 트리거 정보 상자가 다음 예제와 유사하게 표시됩니다.

    스크린샷은 이전 표에 설명된 값으로 설정된 주 관련 속성을 보여줍니다.

    이 트리거는 평일 오전 7시부터 오전 9시 45분까지 15분마다 실행됩니다. 미리 보기 상자는 되풀이 일정을 표시합니다. 자세한 내용은 작업 및 워크플로 예약워크플로 작업 및 트리거를 참조하세요.

  4. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

이제 논리 앱 리소스 및 업데이트된 워크플로가 Azure Portal에 있습니다. 그러나 워크플로는 지정된 일정에 따라 트리거되며 다른 작업은 수행하지 않습니다. 따라서 트리거가 실행되면 응답하는 작업을 추가해 보겠습니다.

경로의 이동 시간 가져오기

이제 트리거가 있으므로 두 위치 간의 이동 시간을 가져오는 Bing Maps 작업을 추가합니다. Azure Logic Apps는 이 정보를 쉽게 얻을 수 있도록 Bing 지도 API에 대한 커넥터를 제공합니다. 이 작업을 시작하기 전에, 이 자습서의 필수 구성 섹션에서 설명한 Bing 지도 API 키를 갖고 있는지 확인합니다.

  1. 워크플로 디자이너의 되풀이 트리거 아래에서 다음 일반적인 단계에 따라 경로 가져오기라는 Bing Maps 작업을 추가합니다.

  2. Bing 지도가 연결되지 않으면 연결을 만들라는 메시지가 나타납니다. 다음 연결 정보를 제공하고 만들기를 선택합니다.

    매개 변수 Required Description
    연결 이름 <Bing-Maps-connection-name> 연결 이름을 입력합니다. 이 예제에서는 BingMapsConnection을 사용합니다.
    API 키 <Bing-Maps-API-key> 이전에 받은 Bing Maps API 키를 입력합니다. Bing 지도 키가 없는 경우 키를 가져오는 방법을 알아보세요.

    다음 예제에서는 샘플 연결 정보를 보여줍니다.

    스크린샷은 예제 연결 이름과 Bing Maps API 키가 있는 Bing Maps 연결 상자를 보여줍니다.

  3. 경로 가져오기 작업의 이름을 다음 제목으로 바꿉니다. 트래픽을 사용하여 경로 및 이동 시간을 가져옵니다.

  4. 작업에서 고급 매개 변수 목록을 열고 다음 속성을 추가합니다.

    • Optimize
    • 거리 단위
    • 이동 모드
  5. 이제 다음 작업의 속성에 대한 값을 입력합니다.

    매개 변수 설명
    Waypoint 1 <시작 위치> 경로의 출발지입니다. 이 예제에서는 예제 출발지 주소를 지정합니다.
    Waypoint 2 <마지막 위치> 경로의 도착지입니다. 이 예제에서는 예제 도착지 주소를 지정합니다.
    Optimize timeWithTraffic 거리, 현재 트래픽 하에서의 이동 시간 등 경로를 최적화하기 위한 매개 변수. 매개 변수 값 timeWithTraffic을 선택합니다.
    거리 단위 <원하는 단위> 경로의 거리 단위. 이 예제에서는 단위로 마일을 사용합니다.
    이동 모드 Driving 경로의 이동 모드. 운전 모드를 선택합니다.

    이러한 매개 변수와 값에 대한 자세한 내용은 경로 계산을 참조하세요.

    다음 예제에서는 샘플 작업 정보를 보여 줍니다.

    스크린샷은 경로 가져오기라는 완료된 작업을 보여줍니다.

  6. 디자이너 도구 모음에서 저장을 선택합니다.

다음으로, 현재 이동 시간을 초가 아닌 분으로 변환하여 저장할 수 있도록 변수를 만듭니다. 이렇게 하면 변환을 반복하지 않을 수 있으며 이후 단계에서 값을 좀 더 수월하게 사용할 수 있습니다.

이동 시간을 저장하는 변수 만들기

경우에 따라 워크플로에서 데이터에 대한 작업을 실행한 다음, 이후 작업에서 결과를 사용할 수 있습니다. 이러한 결과를 간편하게 재사용 또는 참조할 수 있도록 결과를 저장하려면 데이터 처리 후 결과를 저장하는 변수를 만들면 됩니다. 워크플로의 최상위 수준에서만 변수를 만들 수 있습니다.

기본적으로 경로 가져오기 작업은 이동 시간 트래픽 속성에서 트래픽이 포함된 현재 이동 시간을 초 단위로 반환합니다. 이 값을 분 단위로 변환하여 저장하면 나중에 변환 작업 없이 간편하게 값을 재사용할 수 있습니다.

  1. 경로 가져오기 작업에서 다음 일반적인 단계에 따라 변수 초기화라는 변수 작업을 추가합니다.

  2. 변수 초기화 작업의 이름을 다음 제목으로 바꿉니다. 이동 시간을 저장할 변수를 만듭니다.

  3. 다음 작업 정보를 제공합니다.

    매개 변수 설명
    이름 travelTime 변수의 이름입니다. 이 예제에서는 travelTime를 사용합니다.
    Type 정수 변수의 데이터 형식
    <initial-value> 현재 이동 시간을 초 단위에서 분 단위로 변환하는 식입니다(이 표 아래의 단계 참조).

    Value 속성에 대한 식을 만들려면 다음 단계를 수행합니다.

    1. 동적 콘텐츠 목록(번개 아이콘) 및 식 편집기(수식 아이콘)에 대한 옵션을 표시하는 값 상자 내에서 선택한 다음 식 편집기를 선택합니다.

      스크린샷은 Value 속성 내에 커서가 있는 변수 초기화라는 작업을 보여 줍니다.

      식 편집기에서는 식에서 작업을 수행하는 데 사용할 수 있는 함수를 제공합니다. 동적 콘텐츠 목록은 워크플로의 후속 작업과 함께 사용할 입력으로 선택할 수 있는 이전 작업의 출력을 제공합니다.

    2. 식 편집기에서 다음 식을 입력합니다. div(,60)

      스크린샷은 div(,60)에 대해 입력된 식이 있는 식 편집기를 보여줍니다.

    3. 식 내부에서 커서를 왼쪽 괄호(()와 쉼표(,) 사이에 놓고 동적 콘텐츠를 선택합니다.

      스크린샷은 div(,60) 식에 커서를 놓고 동적 콘텐츠를 선택할 위치를 보여 줍니다.

    4. 동적 콘텐츠 목록의 출력 값 인 이동 기간 트래픽을 선택합니다.

      출력이 표시되지 않으면 동적 콘텐츠 목록의 작업 이름 옆에 있는 자세히 보기를 선택합니다.

      스크린샷은 여행 기간 트래픽이라는 출력에 대해 선택한 값을 보여 줍니다.

    5. 식 내에서 출력 값이 확인되면 추가를 선택합니다.

      스크린샷은 선택한 추가 단추를 보여줍니다.

      다음 예제에서는 Value 속성이 표시되는 방법을 보여 줍니다.

      스크린샷은 확인된 식이 있는 Value 속성을 보여줍니다.

  4. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

다음으로, 현재 이동 시간이 특정 제한보다 큰지 확인하는 조건을 추가합니다.

이동 시간을 제한과 비교

  1. 이동 시간 작업을 저장할 변수 만들기 아래에서 다음 일반적인 단계에 따라 조건이라는 Control 작업을 추가합니다.

  2. 조건 이름을 다음 제목 으로 바꿉니다. 이동 시간이 제한을 초과하는 경우

  3. 여기에 설명된 대로 travelTime 출력 값이 지정된 제한을 초과하는지 여부를 확인하는 조건을 빌드합니다.

    1. 조건의 왼쪽에서 값 선택 상자 내에서 선택한 다음 동적 콘텐츠 목록(번개 아이콘)에 대한 옵션을 선택합니다.

    2. 변수 아래에서 travelTime이라는 출력을 선택합니다.

      스크린샷은 값 선택, 열린 동적 콘텐츠 목록 및 travelTime 출력이 선택된 왼쪽 상자를 보여줍니다.

    3. 가운데 비교 상자에서 보다 큼 연산자를 선택합니다.

    4. 조건의 오른쪽에 있는 선택 상자에 다음 값을 입력합니다. 15

      완료되면 조건은 다음 예제와 같습니다.

      스크린샷은 이동 시간을 지정된 제한과 비교하기 위한 완료된 조건을 보여줍니다.

  4. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

다음으로, 이동 시간이 제한을 초과하면 실행할 작업을 추가합니다.

제한을 초과하면 이메일 발송

이제 이동 시간이 한도를 초과할 때 전자 메일을 보내는 작업을 추가합니다. 이 이메일에는 현재 이동 시간 및 지정된 경로로 이동하는 데 필요한 추가 시간이 포함됩니다.

  1. 조건의 True 분기에서 더하기 기호(+)를 선택한 다음, 작업 추가를 선택합니다.

  2. 다음 일반적인 단계에 따라 전자 메일 보내기라는 Office 365 Outlook 작업을 추가합니다.

    • Azure 회사 또는 학교 계정의 경우 Office 365 Outlook 버전을 선택합니다.
    • 개인 Microsoft 계정의 경우 Outlook.com 버전을 선택합니다.

    이 예제에서는 Office 365 Outlook을 선택하여 진행합니다.

    스크린샷은 전자 메일 보내기를 선택한 Office 365 Outlook 작업을 보여줍니다.

  3. 아직 연결이 설정되지 않은 경우 로그인하고 메시지가 표시되면 이메일 계정에 대한 액세스를 인증합니다.

    Azure Logic Apps가 이메일 계정에 연결합니다.

  4. 작업 이름을 다음 제목 으로 바꿉니다. 여행 시간을 사용하여 전자 메일 보내기

  5. 받는 사람 속성에 받는 사람의 이메일 주소를 입력합니다. 메일 주소를 사용하여 테스트할 수 있습니다.

  6. 제목 속성에서 이메일 제목을 지정하고, 다음 단계를 수행하여 travelTime 변수를 포함합니다.

    1. 후행 공백이 있는 텍스트 현재 이동 시간(분) 을 입력합니다. 제목 상자에 커서를 유지하고 동적 콘텐츠 목록(번개 아이콘)에 대한 옵션을 선택합니다.

    2. 동적 콘텐츠 목록의 변수 섹션에서 travelTime이라는 변수를 선택합니다.

      참고 항목

      동적 콘텐츠 목록에 travelTime 변수가 자동으로 표시되지 않으면 변수 레이블 옆에 있는 자세히 보기를 선택합니다. subject 속성에 문자열 값이 있는 반면 travelTime은 정수이므로 변수가 나타나지 않을 수 있습니다.

  7. 본문 속성의 경우 다음 단계에 따라 이메일 본문의 콘텐츠를 지정합니다.

    1. 텍스트 추가 이동 시간(분)을 입력합니다. 후행 공백이 있습니다. 본문 상자에 커서를 유지하고 식 편집기(수식 아이콘)에 대한 옵션을 선택합니다.

    2. 제한을 초과하는 시간(분)을 계산할 수 있도록 식 편집기에서 sub(,15)를 입력합니다.

      스크린샷은 sub(,15)가 입력된 식 편집기를 보여줍니다.

    3. 식 내부에서 커서를 왼쪽 괄호(()와 쉼표(,) 사이에 놓고 동적 콘텐츠를 선택합니다.

      스크린샷은 sub(,15) 식에 커서를 놓고 동적 콘텐츠를 선택할 위치를 보여 줍니다.

    4. 변수 아래에서 travelTime을 선택합니다.

      스크린샷은 travelTime 변수가 선택된 동적 콘텐츠 목록을 보여줍니다.

    5. 식 내에서 변수가 확인되면 추가를 선택합니다.

      이제 본문 속성은 다음과 같이 표시됩니다.

      스크린샷은 전자 메일 작업의 Body 속성에서 확인된 식을 보여 줍니다.

  8. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

다음으로, 다음 예제와 유사한 워크플로를 테스트하고 실행합니다.

스크린샷은 전체 예제 논리 앱 워크플로를 보여줍니다.

워크플로 실행

워크플로를 수동으로 시작하려면 디자이너 도구 모음에서 실행 실행을>선택합니다.

  • 현재 이동 시간이 제한 미만인 경우 워크플로는 다른 작업을 수행하지 않고 다시 확인하기 전에 또는 다음 간격을 기다립니다.

  • 현재 이동 시간이 제한을 초과하면 현재 이동 시간 및 제한을 초과한 시간(분)이 포함된 이메일을 받게 됩니다. 다음 예제에서는 워크플로에서 보내는 샘플 전자 메일을 보여 줍니다.

    스크린샷은 현재 이동 시간과 지정된 제한을 초과하는 추가 이동 시간을 보고하는 예제 전자 메일을 보여줍니다.

    이메일을 받지 못한 경우 이메일의 정크 폴더를 확인합니다. 이메일 정크 필터가 이러한 종류의 메일을 리디렉션할 수 있습니다. 그렇지 않고 워크플로가 올바르게 실행되었는지 확실하지 않으면 워크플로 문제 해결을 참조하세요.

축하합니다. 일정 기반 되풀이 워크플로를 만들고 실행했습니다.

리소스 정리

논리 앱 리소스를 사용하지 않도록 설정하거나 삭제할 때까지 워크플로가 계속 실행됩니다. 이 샘플이 더 이상 필요하지 않으면 논리 앱 및 관련 리소스가 포함된 리소스 그룹을 삭제합니다.

  1. Azure Portal 검색 상자에 리소스 그룹을 입력하고 리소스 그룹을 선택합니다.

  2. 리소스 그룹 목록에서 이 자습서에 대한 리소스 그룹을 선택합니다.

  3. 리소스 그룹 메뉴에서 개요를 선택합니다.

  4. 개요 페이지 도구 모음에서 리소스 그룹 삭제를 선택합니다.

  5. 확인 창이 표시되면 리소스 그룹 이름을 입력하고 삭제를 선택합니다.

다음 단계

이 자습서에서는 지정된 일정(평일 오전)에 따라 트래픽을 검사하고, 이동 시간이 지정된 제한을 초과하면 작업(이메일 보내기)을 수행하는 논리 앱 워크플로를 만들었습니다. 지금부터 Azure 서비스, Microsoft 서비스 및 기타 SaaS(Software-as-a-Service) 앱을 통합하여 메일 그룹 요청을 보내 승인을 요청하는 워크플로 빌드 방법을 알아봅니다.