Azure Logic Apps에서 되풀이 트리거를 사용하여 되풀이 워크플로 예약 및 실행
적용 대상: Azure Logic Apps(사용량 + 표준)
일정에 따라 워크플로를 시작하고 실행하려면 제네릭 되풀이 트리거를 첫 번째 단계로 사용할 수 있습니다. 워크플로를 시작하기 위한 날짜, 시간 및 표준 시간대와 해당 워크플로를 반복하기 위한 되풀이를 설정할 수 있습니다. 다음 목록에는 고급 되풀이 및 복잡한 일정과 함께 이 트리거가 지원하는 몇 가지 패턴이 포함되어 있습니다.
특정 날짜와 시간에 실행한 다음 n(초, 분, 시간, 일, 주 또는 월)마다 반복합니다.
즉시 실행하고 n초, 분, 시간, 일, 주 또는 월마다 반복합니다.
즉시 실행하고 매일 오전 8시 및 오후 5시와 같은 하나 이상의 특정 시간에 반복합니다.
즉시 실행하고 매주 특정 요일(예: 토요일 및 일요일)에 반복합니다.
즉시 실행하고 월요일부터 금요일까지 오전 8시 및 오후 5시와 같이 특정 요일 및 시간에 매주 반복합니다.
참고 항목
시간 선택 및 날짜 선택과 같은 고급 예약 옵션을 사용할 수 있으며, Azure Logic Apps 런타임에서 직접 실행되는 되풀이 및 슬라이딩 윈도우 트리거와 같은 기본 제공 폴링 트리거로만 작동합니다. Microsoft가 관리하고 호스트하며 Azure에서 실행되는 커넥터의 경우 폴링 트리거는 고급 예약 옵션이 아닌 간격 및 빈도 값만 사용하여 다음 되풀이를 계산합니다.
되풀이 트리거는 특정 서비스와 연결되지 않으므로 소비 논리 앱 워크플로 및 표준 논리 앱 상태 저장 워크플로와 같은 거의 모든 워크플로에서 트리거를 사용할 수 있습니다. 이 트리거는 현재 표준 논리 앱 상태 비저장 워크플로에 사용할 수 없습니다.
되풀이 트리거는 기본 제공 Schedule 커넥터의 일부이며 Azure Logic Apps 런타임에서 기본적으로 실행됩니다. 기본 제공 일정 트리거 및 작업에 대한 자세한 내용은 Azure Logic Apps를 사용하여 반복되는 자동화, 작업 및 워크플로 예약 및 실행을 참고하세요.
필수 조건
Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.
빈 워크플로를 사용하는 사용량 또는 표준 논리 앱 리소스
참고 항목
표준 논리 앱 워크플로를 만든 경우 상태 저장 워크플로를 만들어야 합니다. 되풀이 트리거는 현재 상태 비지정 워크플로에 사용할 수 없습니다.
되풀이 트리거 추가
워크플로가 사용량인지 아니면 표준인지에 따라 해당 단계를 따릅니다.
Azure Portal의 논리 앱 리소스와 빈 워크플로를 엽니다.
되풀이에 대한 간격 및 빈도를 설정합니다. 이 예에서는 매주 워크플로를 실행하도록 다음 속성을 설정합니다. 예를 들면 다음과 같습니다.
속성 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일 전에 주별 되풀이를 설정합니다.
- 월: 적어도 한 달 전에 월별 되풀이를 설정합니다.Recurrence 트리거를 사용하는 경우 다음 고려 사항을 검토합니다.
특정 시작 날짜와 시간을 지정하지 않는 경우 트리거의 되풀이 설정에도 불구하고 워크플로를 저장하거나 논리 앱 리소스를 배포할 때 첫 번째 되풀이가 즉시 실행됩니다. 이 동작을 방지하려면 첫 번째 되풀이를 실행할 시작 날짜와 시간을 제공합니다.
이후 되풀이를 실행하는 특정 시간과 같은 기타 고급 일정 옵션을 지정하지 않는 경우 해당 되풀이는 마지막 실행 시간을 기준으로 합니다. 결과적으로 해당 되풀이에 대한 시작 시간은 스토리지 호출 중의 대기 시간과 같은 요소로 인해 드리프트될 수 있습니다.
특히 빈도가 일 이상인 경우 워크플로가 되풀이를 놓치지 않도록 하려면 다음 옵션을 시도합니다.
되풀이 시작 날짜 및 시간과 후속 되풀이를 실행할 특정 시간을 제공합니다. 일 및 주 빈도에만 사용할 수 있는 At these hours 및 At these minutes라는 이름의 속성을 사용할 수 있습니다.
소비 논리 앱 워크플로의 경우 되풀이 트리거 대신 슬라이딩 윈도우 트리거를 사용합니다.
ARM 템플릿을 사용하여 되풀이 트리거가 있는 사용 안 함 소비 워크플로를 배포하는 경우 배포 전에 시작 시간 매개 변수를 설정하지 않는 한 워크플로를 사용하도록 설정하면 트리거가 즉시 발생합니다.
고급 일정 옵션을 설정하려면 새 매개 변수 추가 목록을 엽니다. 선택하는 옵션은 선택 후 트리거에 표시됩니다.
속성 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분까지 차이가 날 수도 있습니다. 후속 작업에 예약된 대로 정확하게 타임스탬프를 전달해야 하는 경우 템플릿 식을 사용하여 타임스탬프를 적절하게 변경할 수 있습니다. 자세한 내용은 식의 날짜 및 시간 함수를 참조하세요.예를 들어 오늘이 2020년 9월 4일 금요일이라고 가정합니다. 다음 되풀이 트리거는 지정된 시작 날짜 및 시간(2020년 9월 18일 금요일 오전 8:00 태평양 표준시)보다 더 빨리 실행되지 않습니다. 반면 되풀이 일정이 월요일에 한해서만 10:30 AM, 12:30 PM 및 2:30 PM으로 설정되어 있습니다. 트리거가 처음 실행되고 워크플로 인스턴스가 만들어지는 시간은 월요일 오전 10시 30분입니다. 시작 시간이 작동하는 방법에 대한 자세한 내용은 시작 시간 예를 참조하세요.
이후 실행은 같은 날 12:30 PM 및 2:30 PM에 발생합니다. 되풀이마다 해당 워크플로 인스턴스가 만들어집니다. 그런 다음 전체 일정이 다시 다음 월요일에 반복됩니다. 다른 예제에는 어떤 것이 있나요?
참고 항목
트리거는 주기로 일 또는 주를 선택한 경우에만 지정된 되풀이에 대한 미리 보기를 보여 줍니다.
이제 다른 작업으로 워크플로를 계속 빌드합니다.
워크플로 정의 - 되풀이
사용량 논리 앱 및 표준 논리 앱(상태 저장 전용)에서 워크플로의 기본 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
특성은 식 또는 매개 변수 참조에서 평가된 값을 나타냅니다. 되풀이 조건이 식이나 매개 변수 참조를 지정하지 않으면 evaluatedRecurrence
및 recurrence
속성이 동일합니다.
다음 예에서는 트리거가 각 월의 마지막 날에 한 번만 실행 되도록 트리거 정의를 업데이트하는 방법을 보여줍니다.
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 1,
"schedule": {
"monthDays": [-1]
}
},
"type": "Recurrence"
}
}
한 번만 실행
나중에 한 번만 워크플로를 실행하려면 Scheduler: 한 번 실행 작업 워크플로 템플릿을 적용할 수 있습니다. 이 템플릿은 소비 논리 앱 워크플로에만 사용할 수 있습니다. 이 템플릿은 이 되풀이 패턴을 지원하지 않는 되풀이 트리거 대신 요청 트리거 및 HTTP 작업을 사용합니다.
Azure Portal에서 소비 논리 앱을 만듭니다.
디자이너에서 빈 워크플로를 엽니다. 디자이너 도구 모음에서 레거시 디자이너 사용을 선택합니다.
디자이너 도구 모음에서 템플릿을 선택합니다.
열리는 페이지에서 비디오를 지나 템플릿 섹션으로 스크롤합니다 .
범주 목록에서 일정을 선택한 다음, 다음 템플릿을 선택합니다.
디자이너 도구 모음에서 일반 공급 디자이너를 선택합니다.
다음 일반적인 단계에 따라 지연이라는 일정 작업을 추가하고 다음 작업이 실행되기 시작하는 시간을 제공합니다.
또는 HTTP 요청을 받을 때라는 요청 트리거를 사용하여 워크플로를 시작하고 시작 시간을 트리거에 대한 매개 변수로 전달할 수 있습니다.
월의 마지막 날에 한 번 실행
이 작업의 경우 다음 예제를 사용하여 디자이너가 아닌 코드 뷰를 사용하여 워크플로의 기본 JSON 정의에서 되풀이 트리거를 편집해야 합니다.
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 1,
"schedule": {
"monthDays": [-1]
}
},
"type": "Recurrence"
}
}
트리거 되풀이 시프트 및 드리프트(일광 절약 시간)
작업을 예약하기 위해 Azure Logic Apps는 처리할 메시지를 큐에 추가하고 마지막 작업이 실행된 UTC 시간과 다음 작업이 실행되도록 예약된 UTC 시간을 기준으로 메시지를 사용할 수 있는 시기를 지정합니다. 되풀이를 사용하여 시작 시간을 지정하는 경우 논리 앱 워크플로가 지정된 시작 시간에 실행되도록 표준 시간대를 선택해야 합니다. 이렇게 하면 논리 앱에 대한 UTC 시간도 계절적 시간 변경에 대응하도록 전환됩니다. 되풀이 트리거는 지정한 표준 시간대를 포함하여 설정한 일정을 적용합니다.
표준 시간대를 선택하지 않으면 트리거가 실행될 때 DST(일광 절약 시간) 이벤트가 영향을 줄 수 있습니다. 예를 들어, DST가 시작될 때 시작 시간이 1시간 앞으로 이동하고, DST가 종료되면 1시간 뒤로 이동합니다. 그러나 시간이 이동하면 일부 기간에서 문제가 발생할 수 있습니다. 자세한 내용 및 예제는 일광 절약 시간 및 표준 시간에 대한 되풀이를 참조하세요.