Azure Logic Apps에서 되풀이 트리거를 사용하여 되풀이 워크플로 예약 및 실행

적용 대상: Azure Logic Apps(사용량 + 표준)

일정에 따라 워크플로를 시작하고 실행하려면 일반 되풀이 트리거를 첫 번째 단계로 사용할 수 있습니다. 워크플로를 시작하기 위한 날짜, 시간 및 표준 시간대와 해당 워크플로를 반복하기 위한 되풀이를 설정할 수 있습니다. 다음 목록에는 고급 되풀이 및 복잡한 일정과 함께 이 트리거가 지원하는 몇 가지 패턴이 포함되어 있습니다.

  • 특정 날짜와 시간에 실행한 다음 n(초, 분, 시간, 일, 주 또는 월)마다 반복합니다.

  • 즉시 실행하고 n초, 분, 시간, 일, 주 또는 월마다 반복합니다.

  • 즉시 실행하고 매일 오전 8시 및 오후 5시와 같은 하나 이상의 특정 시간에 반복합니다.

  • 즉시 실행하고 매주 특정 요일(예: 토요일 및 일요일)에 반복합니다.

  • 즉시 실행하고 월요일부터 금요일까지 오전 8시 및 오후 5시와 같이 특정 요일 및 시간에 매주 반복합니다.

참고 항목

앞으로 한 번만 워크플로를 시작하고 실행하려면 스케줄러: 작업 한 번 실행이라는 워크플로 템플릿을 사용합니다. 이 템플릿은 이 되풀이 방법을 지원하지 않는 되풀이 트리거 대신 요청 트리거와 HTTP 작업을 사용합니다. 자세한 내용은 한 번만 작업 실행을 참조하세요.

되풀이 트리거는 특정 서비스와 연결되지 않으므로 사용량 논리 앱 워크플로 및 표준 논리 앱 상태 저장 워크플로와 같은 거의 모든 워크플로에서 트리거를 사용할 수 있습니다. 이 트리거는 현재 표준 논리 앱 상태 비저장 워크플로에 사용할 수 없습니다.

되풀이 트리거는 기본 제공 일정 커넥터의 일부이며 기본적으로 Azure Logic Apps 런타임에서 실행됩니다. 기본 제공 일정 트리거 및 작업에 대한 자세한 내용은 Azure Logic Apps를 사용하여 반복되는 자동화, 작업 및 워크플로 예약 및 실행을 참고하세요.

필수 조건

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

  • 빈 워크플로를 사용하는 사용량 또는 표준 논리 앱 리소스

    참고 항목

    표준 논리 앱 워크플로를 만든 경우 상태 저장 워크플로를 만들어야 합니다. 되풀이 트리거는 현재 상태 비저장 워크플로에 사용할 수 없습니다.

되풀이 트리거 추가

워크플로가 사용량인지 아니면 표준인지에 따라 해당 단계를 따릅니다.

  1. Azure Portal의 논리 앱 리소스와 빈 워크플로를 엽니다.

  2. 다음 일반 단계에 따라 Recurrence라는 Schedule 기본 제공 트리거를 추가합니다.

  3. 되풀이에 대한 간격 및 빈도를 설정합니다. 이 예에서는 매주 워크플로를 실행하도록 다음 속성을 설정합니다. 예를 들면 다음과 같습니다.

    Screenshot for Consumption workflow designer with Recurrence trigger interval and frequency.

    속성 JSON 이름 필수 Type 설명
    Interval interval 정수 빈도에 따라 워크플로가 얼마나 자주 실행되는지를 설명하는 양의 정수입니다. 다음은 최소 및 최대 간격입니다.

    - 월: 1-16개월
    - 주: 1~71주
    - 일: 1-500일
    - 시간: 1-12,000시간
    - 분: 1-72,000분
    - 초: 1-9,999,999초

    예를 들어 간격이 6이고 빈도가 “월”이면 되풀이 간격은 6개월마다입니다.
    빈도 frequency 문자열 되풀이 시간 단위: , , 시간, , 또는

    중요: , 또는 빈도를 사용하고 이후 시작 날짜 및 시간을 지정하는 경우 미리 되풀이를 설정해야 합니다. 그렇지 않으면 워크플로가 첫 번째 되풀이를 건너뛸 수 있습니다.

    - : 최소 24시간 전에 일별 되풀이를 설정합니다.

    - : 최소 7일 전에 주별 되풀이를 설정합니다.

    - : 적어도 한 달 전에 월별 되풀이를 설정합니다.
  4. Recurrence 트리거를 사용하는 경우 다음 고려 사항을 검토합니다.

    • 특정 시작 날짜와 시간을 지정하지 않는 경우 트리거의 되풀이 설정에도 불구하고 워크플로를 저장하거나 논리 앱 리소스를 배포할 때 첫 번째 되풀이가 즉시 실행됩니다. 이 동작을 방지하려면 첫 번째 되풀이를 실행할 시작 날짜와 시간을 제공합니다.

    • 이후 되풀이를 실행하는 특정 시간과 같은 기타 고급 일정 옵션을 지정하지 않는 경우 해당 되풀이는 마지막 실행 시간을 기준으로 합니다. 결과적으로 해당 되풀이에 대한 시작 시간은 스토리지 호출 중의 대기 시간과 같은 요소로 인해 드리프트될 수 있습니다.

    • 특히 빈도가 일 이상인 경우 워크플로가 되풀이를 놓치지 않도록 하려면 다음 옵션을 시도합니다.

      • 되풀이 시작 날짜 및 시간과 후속 되풀이를 실행할 특정 시간을 제공합니다. 빈도에만 사용할 수 있는 At these hoursAt these minutes라는 이름의 속성을 사용할 수 있습니다.

      • 사용량 논리 앱 워크플로의 경우 되풀이 트리거 대신 슬라이딩 윈도우 트리거를 사용합니다.

    • ARM 템플릿을 사용하여 되풀이 트리거가 있는 사용하지 않도록 설정된 소비 워크플로를 배포하는 경우 배포 전에 시작 시간 매개 변수를 설정하지 않는 한 워크플로를 사용하도록 설정하면 트리거가 즉시 실행됩니다.

  5. 고급 일정 옵션을 설정하려면 새 매개 변수 추가 목록을 엽니다. 선택하는 옵션은 선택 후 트리거에 표시됩니다.

    속성 JSON 이름 필수 Type 설명
    표준 시간대 timeZone 아니요 문자열 이 트리거는 UTC 오프셋을 허용하지 않으므로 시작 시간을 지정할 때만 적용됩니다. 적용하려는 표준 시간대를 선택합니다.
    시작 시간 startTime 아니요 문자열 시작 날짜 및 시간을 제공합니다. 이 날짜 및 시간은 이후 최대 49년이며 UTC 오프셋 없이 UTC 날짜/시간 형식으로 ISO 8601 날짜/시간 사양을 따라야 합니다.

    표준 시간대를 선택하는 경우 YYYY-MM-DDThh:mm:ss

    또는

    표준 시간대를 선택하지 않은 경우 YYYY-MM-DDThh:mm:ssZ

    예를 들어 2020년 9월 18일, 오후 2시를 원할 경우 '2020-09-18T14:00:00'을 지정하고 태평양 표준시와 같은 표준 시간대를 지정합니다. 또는 표준 시간대 없이 '2020-09-18T14:00:00Z'를 지정합니다.

    중요: 표준 시간대를 선택하지 않으면 공백 없이 맨 끝에 문자 'Z'를 추가해야 합니다. 이 “Z”는 해당 항해 시간을 나타냅니다. 표준 시간대 값을 선택하는 경우 시작 시간 값의 끝에 'Z'를 추가할 필요가 없습니다. 이렇게 하면 'Z'는 UTC 시간 형식을 의미하므로 Logic Apps는 표준 시간대 값을 무시합니다.

    단순 일정의 경우 시작 시간은 첫 번째 발생이지만 복잡한 일정의 경우 트리거는 시작 시간보다 더 일찍 발생하지 않습니다. 시작 날짜 및 시간을 사용할 수 있는 방법에는 무엇이 있나요?
    요일 선택 weekDays 아니요 문자열 또는 문자열 배열 “주”를 선택하는 경우 워크플로를 실행하려는 요일을 하나 이상 선택할 수 있습니다.월요일, 화요일, 수요일, 목요일, 금요일, 토요일일요일
    시간 선택 hours 아니요 정수 또는 정수 배열 '일' 또는 '주'를 선택하는 경우 워크플로를 실행하려는 일중 시간으로 0~23 사이의 정수를 하나 이상 선택할 수 있습니다. 예를 들어 “10”, “12” 및 “14”를 지정하면 하루 중 시간에 대해 10 AM, 12 PM 및 2 PM이 제공됩니다.

    참고: 기본적으로 하루 중 분은 되풀이가 시작되는 시기를 기준으로 계산됩니다. 특정 일중 분(예: 오전 10:00, 오후 12:00 및 오후 2:00)을 설정하려면 분 선택이라는 속성을 사용하여 해당 값을 지정합니다.
    분 선택 minutes 아니요 정수 또는 정수 배열 “일” 또는 “주”를 선택하는 경우 워크플로를 실행하려는 시간의 분으로 0~59 사이의 정수를 하나 이상 선택할 수 있습니다.

    예를 들어 분 표시로 “30”을 지정하고, 앞에 나온 하루 시간 예제를 사용하면 10:30 AM, 12:30 PM 및 2:30 PM이 표시됩니다.

    참고: 트리거된 실행에 대한 타임스탬프는 예약된 시간에서 최대 1분까지 차이가 날 수도 있습니다. 후속 작업에 예약된 대로 정확하게 타임스탬프를 전달해야 하는 경우 템플릿 식을 사용하여 타임스탬프를 적절하게 변경할 수 있습니다. 자세한 내용은 식의 날짜 및 시간 함수를 참조하세요.

    Screenshot for Consumption workflow designer and Recurrence trigger with advanced scheduling options.

    예를 들어 오늘이 2020년 9월 4일 금요일이라고 가정합니다. 다음 되풀이 트리거는 지정된 시작 날짜 및 시간인 2020년 9월 18일 금요일 오전 8시(태평양 표준시)보다 빠르게 실행되지 않습니다. 반면 되풀이 일정이 월요일에 한해서만 10:30 AM, 12:30 PM 및 2:30 PM으로 설정되어 있습니다. 트리거가 처음 실행되고 워크플로 인스턴스가 만들어지는 시간은 월요일 오전 10시 30분입니다. 시작 시간이 작동하는 방법에 대한 자세한 내용은 시작 시간 예를 참조하세요.

    이후 실행은 같은 날 12:30 PM 및 2:30 PM에 발생합니다. 되풀이마다 해당 워크플로 인스턴스가 만들어집니다. 그런 다음 전체 일정이 다시 다음 월요일에 반복됩니다. 다른 예제에는 어떤 것이 있나요?

    Screenshot showing Consumption workflow and Recurrence trigger with advanced scheduling example.

    참고 항목

    트리거는 주기로 또는 를 선택한 경우에만 지정된 되풀이에 대한 미리 보기를 보여 줍니다.

  6. 이제 다른 작업으로 워크플로를 계속 빌드합니다.

워크플로 정의 - 되풀이

사용량 논리 앱 및 표준 논리 앱(상태 저장 전용)에서 워크플로의 기본 JSON 정의를 검토하여 되풀이 트리거 정의가 선택한 옵션과 함께 표시되는 방식을 볼 수 있습니다.

논리 앱이 사용량인지 표준인지에 따라 다음 옵션 중 하나를 선택합니다.

  • 사용량: 디자이너 도구 모음에서 코드 보기를 선택합니다. 디자이너로 돌아가려면 코드 보기 편집기 도구 모음에서 디자이너를 선택합니다.

  • 표준: 워크플로 메뉴에서 코드 보기를 선택합니다. 디자이너로 돌아가려면 워크플로 메뉴에서 디자이너를 선택합니다.

다음 예에서는 되풀이 트리거 정의가 워크플로의 기본 JSON 정의에 표시되는 방식을 보여 줍니다.

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2020-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

참고 항목

되풀이 트리거 정의에서 식 또는 매개 변수 참조가 되풀이 조건에 나타날 때 evaluatedRecurrence 속성이 recurrence 속성과 함께 나타납니다. 이 evaluatedRecurrence 특성은 식 또는 매개 변수 참조에서 평가된 값을 나타냅니다. 되풀이 조건이 식이나 매개 변수 참조를 지정하지 않으면 evaluatedRecurrencerecurrence 속성이 동일합니다.

다음 예에서는 트리거가 각 월의 마지막 날에 한 번만 실행 되도록 트리거 정의를 업데이트하는 방법을 보여줍니다.

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

트리거 되풀이 시프트 및 드리프트(일광 절약 시간)

작업을 예약하기 위해 Azure Logic Apps는 처리할 메시지를 큐에 추가하고 마지막 작업이 실행된 UTC 시간과 다음 작업이 실행되도록 예약된 UTC 시간을 기준으로 메시지를 사용할 수 있는 시기를 지정합니다. 되풀이를 사용하여 시작 시간을 지정하는 경우 논리 앱 워크플로가 지정된 시작 시간에 실행되도록 표준 시간대를 선택해야 합니다. 이렇게 하면 논리 앱에 대한 UTC 시간도 계절적 시간 변경에 대응하도록 전환됩니다. 되풀이 트리거는 지정한 표준 시간대를 포함하여 설정한 일정을 적용합니다.

표준 시간대를 선택하지 않으면 트리거가 실행될 때 DST(일광 절약 시간) 이벤트가 영향을 줄 수 있습니다. 예를 들어, DST가 시작될 때 시작 시간이 1시간 앞으로 이동하고, DST가 종료되면 1시간 뒤로 이동합니다. 그러나 시간이 이동하면 일부 기간에서 문제가 발생할 수 있습니다. 자세한 내용 및 예제는 일광 절약 시간 및 표준 시간에 대한 되풀이를 참조하세요.

다음 단계