자습서: Azure Logic Apps를 사용하여 일정 기반의 되풀이 자동화 워크플로 만들기Tutorial: Create schedule-based and recurring automation workflows with Azure Logic Apps

이 자습서에서는 되풀이 일정에 따라 실행되는 워크플로를 자동화하는 예제 논리 앱을 빌드하는 방법을 보여줍니다.This tutorial shows how to build an example logic app that automates a workflow that runs on a recurring schedule. 특히 이 예제 논리 앱은 두 위치 간의 트래픽을 포함하여 이동 시간을 확인하며, 평일 아침마다 실행됩니다.Specifically, this example logic app checks the travel time, including the traffic, between two places and runs every weekday morning. 시간이 특정 제한을 초과하면 논리 앱에서는 이동 시간 및 목적지에 도달하는 데 걸린 추가 시간이 포함된 이메일을 보냅니다.If the time exceeds a specific limit, the logic app sends you an email that includes the travel time and the extra time necessary to arrive at your destination. 워크플로에는 일정 기반 트리거에 이어 Bing Maps 작업, 데이터 연산 작업, 제어 흐름 작업 및 이메일 알림 작업으로 이어지는 다양한 단계가 포함되어 있습니다.The workflow includes various steps, which start with a schedule-based trigger followed by a Bing Maps action, a data operations action, a control flow action, and an email notification action.

이 자습서에서는 다음 작업 방법을 알아봅니다.In this tutorial, you learn how to:

  • 빈 논리 앱을 만듭니다.Create a blank logic app.
  • 논리 앱의 일정을 지정하는 되풀이 트리거를 추가합니다.Add a Recurrence trigger that specifies the schedule for your logic app.
  • 경로의 이동 시간을 가져오는 Bing Maps 작업을 추가합니다.Add a Bing Maps action that gets the travel time for a route.
  • 변수를 만들고, 이동 시간을 초에서 분 단위로 변환하고, 해당 결과를 변수에 저장하는 작업을 추가합니다.Add an action that creates a variable, converts the travel time from seconds to minutes, and stores that result in the variable.
  • 이동 시간을 지정된 제한과 비교하는 조건을 추가합니다.Add a condition that compares the travel time against a specified limit.
  • 이동 시간이 제한을 초과하면 이메일을 보내는 작업을 추가합니다.Add an action that sends you email if the travel time exceeds the limit.

여기까지 모두 마치면 논리 앱이 이 워크플로와 비슷하게 보입니다.When you're done, your logic app looks like this workflow at a high level:

예제 논리 앱 워크플로의 간략한 개요를 보여주는 스크린샷

사전 요구 사항Prerequisites

논리 앱 만들기Create your logic app

  1. Azure 계정 자격 증명을 사용하여 Azure Portal에 로그인합니다.Sign in to the Azure portal with your Azure account credentials. Azure 홈 페이지에서 리소스 만들기를 선택합니다.On the Azure home page, select Create a resource.

  2. Azure Marketplace 메뉴에서 통합 > 논리 앱을 선택합니다.On the Azure Marketplace menu, select Integration > Logic App.

    "통합" 및 "논리 앱"이 선택된 Azure Marketplace 메뉴를 보여주는 스크린샷

  3. 논리 앱 창에서, 만들려는 논리 앱에 대해 설명하는 정보를 여기에 입력합니다.On the Logic App pane, provide the information described here about the logic app that you want to create.

    논리 앱 만들기 창 및 새 논리 앱에 대해 입력해야 하는 정보를 보여주는 스크린샷

    속성Property Value DescriptionDescription
    구독Subscription <Azure-subscription-name><Azure-subscription-name> Azure 구독 이름.Your Azure subscription name. 이 예에서는 Pay-As-You-Go를 사용합니다.This example uses Pay-As-You-Go.
    리소스 그룹Resource group LA-TravelTime-RGLA-TravelTime-RG 관련 리소스를 구성하는 데 사용되는 Azure 리소스 그룹의 이름입니다.The name for the Azure resource group, which is used to organize related resources. 이 예제는 새 리소스 그룹 LA-TravelTime-RG를 만듭니다.This example creates a new resource group named LA-TravelTime-RG.
    이름Name LA-TravelTimeLA-TravelTime 문자, 숫자, 하이픈(-), 밑줄(_), 괄호((, )) 및 마침표(.)만 포함할 수 있는 논리 앱의 이름입니다.Your logic app's name, which can contain only letters, numbers, hyphens (-), underscores (_), parentheses ((, )), and periods (.). 이 예에서는 LA-TravelTime를 사용합니다.This example uses LA-TravelTime.
    위치Location 미국 서부West US 논리 앱 정보를 저장할 지역입니다.The region where to store your logic app information. 이 예에서는 West US를 사용합니다.This example uses West US.
    Log AnalyticsLog Analytics 꺼짐Off 진단 로깅에 대한 설정을 끄기로 유지합니다.Keep the Off setting for diagnostic logging.
  4. 완료되면 검토 + 만들기를 선택합니다.When you're done, select Review + create. Azure가 논리 앱에 대한 정보의 유효성을 검사한 후에는 만들기를 선택합니다.After Azure validates the information about your logic app, select Create.

  5. Azure가 앱을 배포한 후 리소스로 이동을 선택합니다.After Azure deploys your app, select Go to resource.

    Azure가 Logic Apps 템플릿 선택 창을 엽니다. 이 창은 소개 비디오, 일반적으로 사용되는 트리거 및 논리 앱 템플릿 패턴을 보여줍니다.Azure opens the Logic Apps template selection pane, which shows an introduction video, commonly used triggers, and logic app template patterns.

  6. 비디오와 일반 트리거를 지나 템플릿 섹션이 나올 때까지 아래로 스크롤하고, 비어 있는 논리 앱을 선택합니다.Scroll down past the video and common triggers sections to the Templates section, and select Blank Logic App.

    "비어 있는 논리 앱"이 선택된 Logic Apps 템플릿 선택 창을 보여주는 스크린샷

다음으로, 지정된 일정에 따라 워크플로를 실행하는 되풀이 트리거를 추가합니다.Next, add the Recurrence trigger, which runs the workflow based on a specified schedule. 모든 논리 앱은 특정 이벤트가 발생하거나 새 데이터가 특정 조건을 충족할 때 실행되는 트리거를 통해 시작되어야 합니다.Every logic app must start with a trigger, which fires when a specific event happens or when new data meets a specific condition. 자세한 내용은 첫 번째 논리 앱 만들기를 참조하세요.For more information, see Create your first logic app.

되풀이 트리거 추가Add the Recurrence trigger

  1. Logic Apps 디자이너 검색 상자에 recurrence를 입력하고 Recurrence라는 트리거를 선택합니다.In the Logic Apps Designer search box, enter recurrence, and select the trigger named Recurrence.

    Logic Apps 디자이너 검색 상자에 검색어 "recurrence"가 입력되었고 "트리거" 목록에서 "Recurrence" 트리거가 선택된 스크린샷

  2. 되풀이 셰이프에서 줄임표( ... ) 단추, 이름 바꾸기를 차례로 선택합니다.On the Recurrence shape, select the ellipses (...) button, and then select Rename. Check travel time every weekday morning 설명이 포함되도록 트리거 이름을 바꿉니다.Rename the trigger with this description: Check travel time every weekday morning

    줄임표 단추가 선택되었고, "설정" 목록이 열려 있고, "이름 바꾸기" 명령이 선택된 스크린샷

  3. 트리거 내에서 이러한 속성을 여기에 설명된 대로 변경합니다.Inside the trigger, change these properties as described and shown here.

    트리거의 간격 및 빈도 변경을 보여주는 스크린샷

    속성Property 필수Required Value 설명Description
    간격Interval Yes 11 검사 간에 대기하는 간격의 수The number of intervals to wait between checks
    빈도Frequency Yes WeekWeek 되풀이에 사용할 시간 단위The unit of time to use for the recurrence
  4. 간격빈도 아래에서 새 매개 변수 추가 목록을 열고, 다음 속성을 선택하여 트리거에 추가합니다.Under Interval and Frequency, open the Add new parameter list, and select these properties to add to the trigger.

    • 요일 선택On these days
    • 시간 선택At these hours
    • 분 선택At these minutes

    "새 매개 변수 추가" 목록이 열려 있고 "요일 선택", "시간 선택" 및 "분 선택" 속성이 선택된 스크린샷

  5. 이제 여기서 설명한 대로 추가 속성의 값을 설정합니다.Now set the values for the additional properties as shown and described here.

    다음 표에 설명된 값으로 설정된 추가 속성을 보여주는 스크린샷

    속성Property Value 설명Description
    요일 선택On these days 월요일,화요일,수요일,목요일,금요일Monday,Tuesday,Wednesday,Thursday,Friday 이 설정은 빈도로 설정한 경우에만 사용할 수 있습니다.This setting is available only when you set the Frequency to Week.
    시간 선택At these hours 7,8,97,8,9 이 설정은 빈도 또는 로 설정한 경우에만 사용할 수 있습니다.This setting is available only when you set the Frequency to Week or Day. 이 되풀이의 실행 시간을 선택합니다.For this recurrence, select the hours of the day. 이 예제에서는 7, 89시 표시에 실행됩니다.This example runs at the 7, 8, and 9-hour marks.
    분 선택At these minutes 0,15,30,450,15,30,45 이 설정은 빈도 또는 로 설정한 경우에만 사용할 수 있습니다.This setting is available only when you set the Frequency to Week or Day. 이 되풀이를 실행할 분을 선택합니다.For this recurrence, select the minutes of the day. 이 예제에서는 0시 표시에서 시작하여 15분마다 실행됩니다.This example starts at the zero-hour mark and runs every 15 minutes.

    이 트리거는 평일 오전 7시부터 오전 9시 45분까지 15분마다 실행됩니다.This trigger fires every weekday, every 15 minutes, starting at 7:00 AM and ending at 9:45 AM. 미리 보기 상자는 되풀이 일정을 표시합니다.The Preview box shows the recurrence schedule. 자세한 내용은 작업 및 워크플로 예약워크플로 작업 및 트리거를 참조하세요.For more information, see Schedule tasks and workflows and Workflow actions and triggers.

  6. 지금은 트리거의 세부 정보를 숨기기 위해 셰이프의 제목 표시줄 내부를 클릭하여 셰이프를 축소합니다.To hide the trigger's details for now, collapse the shape by clicking inside the shape's title bar.

    축소된 트리거 셰이프를 보여주는 스크린샷

  7. 논리 앱을 저장합니다.Save your logic app. 디자이너 도구 모음에서 저장을 선택합니다.On the designer toolbar, select Save.

이제 논리 앱이 Azure Portal에서 작동 중이지만, 지정된 일정에 따라 트리거하는 것 외에는 아무 것도 하지 않습니다.Your logic app is now live in the Azure portal but doesn't do anything other than trigger based on the specified schedule. 따라서 트리거가 실행되면 응답하는 작업을 추가해 보겠습니다.So, add an action that responds when the trigger fires.

경로의 이동 시간 가져오기Get the travel time for a route

이제 트리거가 생겼으니, 두 장소 사이의 이동 시간을 가져오는 작업을 추가합니다.Now that you have a trigger, add an action that gets the travel time between two places. Logic Apps는 이 정보를 쉽게 얻을 수 있도록 Bing 지도 API에 대한 커넥터를 제공합니다.Logic Apps provides a connector for the Bing Maps API so that you can easily get this information. 이 작업을 시작하기 전에, 이 자습서의 필수 구성 섹션에서 설명한 Bing 지도 API 키를 갖고 있는지 확인합니다.Before you start this task, make sure that you have a Bing Maps API key as described in this tutorial's prerequisites.

  1. 논리 앱 디자이너의 되풀이 트리거에서 새 단계를 선택합니다.In the Logic App Designer, under the Recurrence trigger, select New step.

  2. 작업 선택에서 표준을 선택합니다.Under Choose an operation, select Standard. 검색 상자에 bing maps를 입력하고 경로 가져오기라는 작업을 선택합니다.In the search box, enter bing maps, and select the action named Get route.

    "bing maps" 작업으로 필터링된 "작업 선택" 목록과 "경로 가져오기" 작업이 선택된 스크린샷

  3. Bing 지도가 연결되지 않으면 연결을 만들라는 메시지가 나타납니다.If you don't have a Bing Maps connection, you're asked to create a connection. 연결 정보를 보이는 대로 입력하고 만들기를 선택합니다.Provide the connection details as shown and described, and then select Create.

    지정된 연결 이름과 Bing Maps API 키를 사용하는 Bing Maps 연결 상자를 보여주는 스크린샷

    속성Property 필수Required Value DescriptionDescription
    연결 이름Connection Name Yes BingMapsConnectionBingMapsConnection 연결 이름을 입력합니다.Provide a name for your connection. 이 예에서는 BingMapsConnection를 사용합니다.This example uses BingMapsConnection.
    API 키API Key Yes <Bing-Maps-API-key><Bing-Maps-API-key> 이전에 받은 Bing Maps API 키를 입력합니다.Enter the Bing Maps API key that you previously received. Bing 지도 키가 없는 경우 키를 가져오는 방법을 알아보세요.If you don't have a Bing Maps key, learn how to get a key.
  4. Get route and travel time with traffic 설명이 포함되도록 작업 이름을 바꿉니다.Rename the action with this description: Get route and travel time with traffic.

  5. 작업 내에서 새 매개 변수 목록 추가를 열고, 다음 속성을 선택합니다.In the action, open the Add new parameter list, and select these properties.

    • OptimizeOptimize
    • Distance unitDistance unit
    • Travel modeTravel mode

    "Optimize", "Distance unit" 및 "Travel mode" 속성이 선택된 "경로 가져오기..." 작업을 보여주는 스크린샷

  6. 여기에 설명된 대로 속성 값을 입력합니다.Now enter the values for the properties shown and described here.

    "경로 가져오기" 작업에 대한 추가 속성 값을 보여주는 스크린샷

    속성Property 필수Required Value DescriptionDescription
    Waypoint 1Waypoint 1 Yes <시작 위치><start-location> 경로의 출발지입니다.Your route's origin. 이 예제에서는 예제 출발지 주소를 지정합니다.This example specifies an example starting address.
    Waypoint 2Waypoint 2 Yes <마지막 위치><end-location> 경로의 도착지입니다.Your route's destination. 이 예제에서는 예제 도착지 주소를 지정합니다.This example specifies an example destination address.
    OptimizeOptimize No timeWithTraffictimeWithTraffic 거리, 현재 트래픽 하에서의 이동 시간 등 경로를 최적화하기 위한 매개 변수.A parameter to optimize your route, such as distance, travel time with current traffic, and so on. 매개 변수 값 timeWithTraffic을 선택합니다.Select the parameter value, timeWithTraffic.
    Distance unitDistance unit No <원하는 단위><your-preference> 경로의 거리 단위.The unit of distance for your route. 이 예제에서는 단위로 마일을 사용합니다.This example uses Mile as the unit.
    Travel modeTravel mode No DrivingDriving 경로의 이동 모드.The travel mode for your route. 운전 모드를 선택합니다.Select Driving mode.

    이러한 매개 변수와 값에 대한 자세한 내용은 경로 계산을 참조하세요.For more information about these parameters and values, see Calculate a route.

  7. 디자이너 도구 모음에서 저장을 선택합니다.On the designer toolbar, select Save.

다음으로, 현재 이동 시간을 초가 아닌 분으로 변환하여 저장할 수 있도록 변수를 만듭니다.Next, create a variable so that you can convert and store the current travel time as minutes, rather than seconds. 이렇게 하면 변환을 반복하지 않을 수 있으며 이후 단계에서 값을 좀 더 수월하게 사용할 수 있습니다.That way, you can avoid repeating the conversion and use the value more easily in later steps.

이동 시간을 저장하는 변수 만들기Create a variable to store travel time

경우에 따라 워크플로에서 데이터에 대한 작업을 실행한 다음, 이후 작업에서 결과를 사용할 수 있습니다.Sometimes, you might want to run operations on data in your workflow, and then use the results in later actions. 이러한 결과를 간편하게 재사용 또는 참조할 수 있도록 결과를 저장하려면 데이터 처리 후 결과를 저장하는 변수를 만들면 됩니다.To save these results so that you can easily reuse or reference them, you can create variables that store those results after processing. 변수는 논리 앱의 최상위 수준에서만 만들 수 있습니다.You can create variables only at the top level in your logic app.

기본적으로 경로 가져오기 작업은 이동 시간 트래픽 속성에서 트래픽이 포함된 현재 이동 시간을 초 단위로 반환합니다.By default, the Get route action returns the current travel time with traffic in seconds from the Travel Duration Traffic property. 이 값을 분 단위로 변환하여 저장하면 나중에 변환 작업 없이 간편하게 값을 재사용할 수 있습니다.By converting and storing this value as minutes instead, you make the value easier to reuse later without converting again.

  1. 디자이너의 경로 가져오기 작업에서 새 단계를 선택합니다.On the designer, under the Get route action, select New step.

  2. 작업 선택에서 기본 제공을 선택합니다.Under Choose an operation, select Built-in. 검색 상자에 variables를 입력하고 변수 초기화라는 작업을 선택합니다.In the search box, enter variables, and select the action named Initialize variable.

    "변수 초기화" 작업이 선택된 스크린샷

  3. Create variable to store travel time 설명이 포함되도록 이 작업의 이름을 바꿉니다.Rename this action with this description: Create variable to store travel time

  4. 이 표와 표 아래의 단계에 표시된 대로 변수 정보를 입력합니다.Provide this information for your variable as shown in this table and in the steps below the table:

    속성Property 필수Required Value DescriptionDescription
    이름Name Yes travelTimetravelTime 변수의 이름입니다.The name for your variable. 이 예에서는 travelTime를 사용합니다.This example uses travelTime.
    형식Type Yes 정수Integer 변수의 데이터 형식The data type for your variable
    Value No 현재 이동 시간을 초 단위에서 분 단위로 변환하는 식입니다(이 표 아래의 단계 참조).An expression that converts the current travel time from seconds to minutes (see the steps under this table). 변수의 초기 값The initial value for your variable
    1. 속성에 대한 식을 만들려면 동적 콘텐츠 목록이 표시되도록 상자 내부를 클릭합니다.To create the expression for the Value property, click inside the box so that the dynamic content list appears. 필요한 경우 동적 목록이 나타날 때까지 브라우저를 확장합니다.If necessary, widen your browser until the dynamic list appears. 동적 콘텐츠 목록에서 을 선택합니다. 그러면 식 편집기가 표시됩니다.In the dynamic content list, select Expression, which shows the expression editor.

      동적 콘텐츠 목록을 여는 "값" 속성 내부에 커서가 있는 "변수 초기화" 작업을 보여주는 스크린샷

      동적 콘텐츠 목록은 워크플로의 후속 작업에 대한 입력으로 선택할 수 있는 이전 작업의 출력을 보여줍니다.The dynamic content list shows the outputs from previous actions that are available for you to select as inputs to subsequent actions in your workflow. 동적 콘텐츠 목록에는 식에서 연산을 수행하는 함수를 선택하는 데 사용할 수 있는 식 편집기가 포함되어 있습니다.The dynamic content list includes an expression editor that you can use to select functions that perform operations in your expression. 이 식 편집기는 동적 콘텐츠 목록에만 제공됩니다.This expression editor is only available in the dynamic content list.

    2. 식 편집기에서 div(,60) 식을 입력합니다.In the expression editor, enter this expression: div(,60)

      "div(,60)" 식이 입력된 식 편집기를 보여주는 스크린샷

    3. 식 내부에서 커서를 왼쪽 괄호( ( )와 쉼표( , ) 사이에 놓고 동적 콘텐츠를 선택합니다.Within the expression, put your cursor between the left parenthesis (() and the comma (,), and select Dynamic content.

      "div(,60)" 식에서 커서를 어디에 놓고 "동적 콘텐츠"를 선택해야 하는지 보여주는 스크린샷

    4. 동적 콘텐츠 목록에서 이동 시간 트래픽 속성 값을 선택합니다.In the dynamic content list, under select the property value, Travel Duration Traffic.

      "이동 시간 트래픽" 속성 값을 선택한 스크린샷

    5. 식 내에서 속성 값이 확인되면 확인을 선택합니다.After the property value resolves inside the expression, select OK.

      "확인" 단추를 선택한 스크린샷

      이제 속성은 다음과 같이 표시됩니다.The Value property now appears as shown here:

      식이 확인된 "값" 속성을 보여주는 스크린샷

  5. 논리 앱을 저장합니다.Save your logic app.

다음으로, 현재 이동 시간이 특정 제한보다 큰지 확인하는 조건을 추가합니다.Next, add a condition that checks whether the current travel time is greater than a specific limit.

이동 시간을 제한과 비교Compare the travel time with limit

  1. 이동 시간을 저장하는 변수 만들기 작업에서 새 단계를 선택합니다.Under the Create variable to store travel time action, select New step.

  2. 작업 선택에서 기본 제공을 선택합니다.Under Choose an operation, select Built-in. 검색 상자에 condition를 입력합니다.In the search box, enter condition. 그리고 작업 목록에서 조건이라는 작업을 선택합니다.and from the actions list, select the action named Condition.

    "조건" 작업이 선택된 스크린샷

  3. If travel time exceeds limit 설명이 포함되도록 조건 이름을 바꿉니다.Rename the condition with this description: If travel time exceeds limit

  4. 여기서 설명한 대로 travelTime 속성 값이 지정된 제한을 초과하는지 확인하는 조건을 작성합니다.Build a condition that checks whether the travelTime property value exceeds your specified limit as described and shown here:

    1. 조건의 왼쪽에서 값 선택 상자 내부를 클릭합니다.In the condition, on the condition's left side, click inside the Choose a value box.

    2. 표시되는 동적 콘텐츠 목록의 변수에서 travelTime 속성을 선택합니다.From the dynamic content list that appears, under Variables, select the property named travelTime.

      조건의 왼쪽에 표시되는 "값 선택" 상자에서 동적 콘텐츠 목록이 열려 있고 "travelTime" 속성이 선택된 스크린샷

    3. 가운데 비교 상자에서 보다 큼 연산자를 선택합니다.In the middle comparison box, select the operator named is greater than.

    4. 조건의 오른쪽에 있는 값 선택 상자에서 15 제한을 입력합니다.On the condition's right side, in the Choose a value box, enter this limit: 15

      완료되면 조건이 다음 예와 같습니다.When you're done, the condition looks like this example:

      이동 시간을 지정된 제한과 비교하는 완료된 조건을 보여주는 스크린샷

  5. 논리 앱을 저장합니다.Save your logic app.

다음으로, 이동 시간이 제한을 초과하면 실행할 작업을 추가합니다.Next, add the action to run when the travel time exceeds your limit.

제한을 초과하면 이메일 발송Send email when limit exceeded

이제 이동 시간이 제한을 초과하면 이메일을 보내는 작업을 추가합니다.Now, add an action that sends you email when the travel time exceeds your limit. 이 이메일에는 현재 이동 시간 및 지정된 경로로 이동하는 데 필요한 추가 시간이 포함됩니다.This email includes the current travel time and the extra time necessary to travel the specified route.

  1. 조건의 True 분기에서 작업 추가를 선택합니다.In the condition's True branch, select Add an action.

  2. 작업 선택에서 표준을 선택합니다.Under Choose an operation, select Standard. 검색 상자에 send email를 입력합니다.In the search box, enter send email. 목록에서 많은 결과를 반환하므로, 목록을 필터링할 수 있도록 먼저 원하는 이메일 커넥터를 선택합니다.The list returns many results, so to help you filter list, first select the email connector that you want.

    예를 들어 Outlook 이메일 계정을 사용하는 경우 계정 유형에 맞는 커넥터를 선택합니다.For example, if you have an Outlook email account, select the connector for your account type:

    • Azure 회사 또는 학교 계정인 경우 Office 365 Outlook을 선택합니다.For Azure work or school accounts, select Office 365 Outlook.
    • Microsoft 개인 계정인 경우 Outlook.com을 선택합니다.For personal Microsoft accounts, select Outlook.com.

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

    "표준" 범주 및 "Office 365 Outlook" 커넥터가 선택된 "작업 선택 목록"을 보여주는 스크린샷

  3. 커넥터의 작업이 표시되면 이메일을 보내는 작업을 선택합니다. 예를 들어 다음과 같습니다.When the connector's actions appear, select the action that sends email, for example:

    "이메일 보내기" 작업이 선택된 스크린샷

  4. 아직 연결이 설정되지 않은 경우 로그인하고 메시지가 표시되면 이메일 계정에 대한 액세스를 인증합니다.If you don't already have a connection, sign in and authenticate access to your email account when prompted.

    Azure Logic Apps가 이메일 계정에 연결합니다.Azure Logic Apps creates a connection to your email account.

  5. Send email with travel time 설명이 포함되도록 작업 이름을 바꿉니다.Rename the action with this description: Send email with travel time

  6. 받는 사람 속성에 받는 사람의 이메일 주소를 입력합니다.For the To property, enter the recipient's email address. 메일 주소를 사용하여 테스트할 수 있습니다.For testing purposes, you can use your email address.

  7. 제목 속성에서 이메일 제목을 지정하고, 다음 단계를 수행하여 travelTime 변수를 포함합니다.For the Subject property, specify the email's subject, and include the travelTime variable by following these steps:

    1. Current travel time (minutes): 텍스트를 입력하고 후행 공백을 하나 둡니다.Enter the text Current travel time (minutes): with a trailing space. 동적 콘텐츠 목록이 열린 상태로 유지되도록 커서를 계속해서 제목 상자에 둡니다.Keep your cursor in the Subject box so that the dynamic content list stays open.

    2. 동적 콘텐츠 목록의 변수 제목에서 자세히 보기를 선택하면 travelTime이라는 변수가 표시됩니다.From the dynamic content list, in the Variables heading, select See more so that the variable named travelTime appears.

      "변수" 섹션 및 "자세히 보기"가 선택된 동적 콘텐츠 목록을 보여주는 스크린샷

      참고

      제목 속성에는 문자열 값이 필요한데 travelTime은 정수 값이므로 동적 콘텐츠 목록에 travelTime 변수가 자동으로 표시되지 않습니다.The dynamic content list doesn't automatically show the travelTime variable because the Subject property expects a string value, while travelTime is an integer value.

      "travelTime" 변수가 선택된 동적 콘텐츠 목록을 보여주는 스크린샷

  8. 본문 속성의 경우 다음 단계에 따라 이메일 본문의 콘텐츠를 지정합니다.For the Body property, specify the content for the email body by following these steps:

    1. Add extra travel time (minutes): 텍스트를 입력하고 후행 공백을 하나 둡니다.Enter the text Add extra travel time (minutes): with a trailing space. 동적 콘텐츠 목록이 열린 상태로 유지되도록 커서를 계속해서 본문 상자에 둡니다.Keep your cursor in the Body box so that the dynamic content list stays open.

    2. 동적 콘텐츠 목록에서 을 선택합니다. 그러면 식 편집기가 표시됩니다.In the dynamic content list, select Expression, which shows the expression editor.

      "식"이 선택된 동적 콘텐츠 목록을 보여주는 스크린샷

    3. 제한을 초과하는 시간(분)을 계산할 수 있도록 식 편집기에서 sub(,15)를 입력합니다.In the expression editor, enter sub(,15) so that you can calculate the number of minutes that exceed your limit:

      "sub(,15)" 식이 입력된 식 편집기를 보여주는 스크린샷

    4. 식 내부에서 커서를 왼쪽 괄호( ( )와 쉼표( , ) 사이에 놓고 동적 콘텐츠를 선택합니다.Within the expression, put your cursor between the left parenthesis (() and the comma (,), and select Dynamic content.

      "sub(,15)" 식에서 커서를 어디에 놓고 "동적 콘텐츠"를 선택해야 하는지 보여주는 스크린샷

    5. 변수 아래에서 travelTime을 선택합니다.Under Variables, select travelTime.

      "travelTime" 변수가 선택된 동적 콘텐츠 목록을 보여주는 스크린샷

    6. 식 내에서 속성이 확인되면 확인을 선택합니다.After the property resolves inside the expression, select OK.

      "확인"이 선택된 동적 콘텐츠 목록을 보여주는 스크린샷

      이제 본문 속성은 다음과 같이 표시됩니다.The Body property now appears as shown here:

      이메일 작업의 "본문" 속성에서 식이 확인된 동적 콘텐츠 목록을 보여주는 스크린샷

  9. 논리 앱을 저장합니다.Save your logic app.

다음으로, 이 예제와 비슷한 논리 앱을 테스트하고 실행합니다.Next, test and run your logic app, which now looks similar to this example:

완료된 예제 논리 앱 워크플로를 보여주는 스크린샷

논리 앱 실행Run your logic app

논리 앱을 수동으로 시작하려면 디자이너 도구 모음에서 실행을 선택합니다.To manually start your logic app, on the designer toolbar, select Run.

  • 현재 이동 시간이 제한 내에서 유지되면 논리 앱은 다른 작업을 수행하지 않고, 다시 확인하기 전에 다음 간격을 기다립니다.If the current travel time stays under your limit, your logic app does nothing else and waits or the next interval before checking again.

  • 현재 이동 시간이 제한을 초과하면 현재 이동 시간 및 제한을 초과한 시간(분)이 포함된 이메일을 받게 됩니다.If the current travel time exceeds your limit, you get an email with the current travel time and the number of minutes above your limit. 논리 앱에서 다음과 같은 이메일을 보냅니다.Here is an example email that your logic app sends:

    현재 이동 시간 및 지정된 제한을 초과하는 추가 이동 시간을 보고하는 예제 이메일을 보여주는 스크린샷

    이메일을 받지 못한 경우 이메일의 정크 폴더를 확인합니다.If you don't get any emails, check your email's junk folder. 이메일 정크 필터가 이러한 종류의 메일을 리디렉션할 수 있습니다.Your email junk filter might redirect these kinds of mails. 그렇지 않으면 논리 앱이 올바르게 실행되는지 모르는 경우 논리 앱 문제 해결을 참조하세요.Otherwise, if you're unsure that your logic app ran correctly, see Troubleshoot your logic app.

축하드립니다. 첫 번째 스케줄러 기반 되풀이 논리 앱을 만들고 실행하셨습니다.Congratulations, you've now created and run a schedule-based recurring logic app.

되풀이 트리거를 사용하는 다른 논리 앱을 만들려면 논리 앱을 만든 후에 사용할 수 있는 다음 템플릿을 확인하세요.To create other logic apps that use the Recurrence trigger, check out these templates, which available after you create a logic app:

  • 매일 미리 알림 받기.Get daily reminders sent to you.
  • 오래된 Azure Blob 삭제.Delete older Azure blobs.
  • Azure Storage 큐에 메시지 추가.Add a message to an Azure Storage queue.

리소스 정리Clean up resources

앱을 해제하거나 삭제할 때까지 논리 앱이 계속 실행됩니다.Your logic app continues running until you disable or delete the app. 논리 앱 샘플이 더 이상 필요하지 않으면 논리 앱 및 관련 리소스가 포함된 리소스 그룹을 삭제합니다.When you no longer need the sample logic app, delete the resource group that contains your logic app and related resources.

  1. Azure Portal의 검색 상자에 앞에서 만든 리소스 그룹의 이름을 입력합니다.In the Azure portal's search box, enter the name for the resource group that you created. 결과의 리소스 그룹에서 리소스 그룹을 선택합니다.From the results, under Resource Groups, select the resource group.

    이 예제에서는 LA-TravelTime-RG라는 리소스 그룹을 만들었습니다.This example created the resource group named LA-TravelTime-RG.

    "la-travel-time-rg"를 입력하고 LA-TravelTime-RG를 선택한 Azure 검색 상자를 보여주는 스크린샷

    Azure 홈 페이지의 최근 리소스에 리소스 그룹이 표시되는 경우 홈 페이지에서 그룹을 선택할 수 있습니다.If the Azure home page shows the resource group under Recent resources, you can select the group from the home page.

  2. 리소스 그룹 메뉴에서 개요가 선택되었는지 확인합니다.On the resource group menu, check that Overview is selected. 개요 창의 도구 모음에서 리소스 그룹 삭제를 선택합니다.On the Overview pane's toolbar, select Delete resource group.

    리소스 그룹의 "개요" 창과 이 창의 도구 모음에서 "리소스 그룹 삭제"를 선택한 스크린샷

  3. 표시되는 확인 창에서 리소스 그룹 이름을 입력하고 삭제를 선택합니다.In the confirmation pane that appears, enter the resource group name, and select Delete.

다음 단계Next steps

이 자습서에서는 지정된 일정(평일 오전)에 따라 트래픽을 검사하고, 이동 시간이 지정된 제한을 초과하면 작업(이메일 보내기)을 수행하는 논리 앱을 만들었습니다.In this tutorial, you created a logic app that checks traffic based on a specified schedule (on weekday mornings), and takes action (sends an email) when the travel time exceeds a specified limit. 지금부터 Azure 서비스, Microsoft 서비스 및 기타 SaaS(Software-as-a-Service) 앱을 통합하여 메일 그룹 요청을 보내 승인을 요청하는 논리 앱 빌드 방법을 알아봅니다.Now, learn how to build a logic app that sends mailing list requests for approval by integrating Azure services, Microsoft services, and other Software-as-a-Service (SaaS) apps.