스케줄 트리거의 전체 분기
트리거는 type으로 종류를 지정합니다. 시간 조건, 데이터 변경과 실행 결과를 조합할 수 있습니다. 조회 응답에서 트리거가 보이지 않으면 요청 사용자에게 이를 볼 권한이 없는 경우도 있으므로, 트리거가 설정되지 않았다고 단정하지 않습니다.
조합과 수동 실행
or는 하위 트리거 중 하나의 이벤트에 반응합니다. and는 모든 하위 트리거가 이벤트를 발생시킨 뒤 동작합니다. 이를 모든 이벤트가 같은 순간에 발생해야 한다는 조건으로 바꾸지 않습니다.
manual은 단독으로 사용하면 수동 실행만 허용하는 트리거입니다. AND 또는 OR 안에서는 무시되므로 자동 트리거를 막는 승인 조건으로 사용하지 않습니다.
시간 조건
시간 트리거는 분, 시, 일, 월, 요일의 다섯 필드를 사용하는 CRON과 java.time.ZoneId 문자열을 받습니다. 다음 설정 예시는 UTC 기준 매일 자정을 뜻합니다.
{"type":"time","cronExpression":"0 0 * * *","timeZone":"UTC"}
트랜잭션을 사용하는 미디어 집합에서는 커밋할 때 변경 이벤트가 발생합니다. 트랜잭션을 사용하지 않는 미디어 집합에서는 갱신 후 이벤트가 발생하기까지 시간이 걸릴 수 있습니다.
트리거 분기
스케줄 트리거입니다. 요청 사용자에게 트리거를 볼 권한이 없으면 값이 비어 있을 수 있습니다.
분기 jobSucceeded
대상 브랜치의 데이터셋에서 실행 작업이 성공할 때 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: jobSucceeded. | jobSucceeded |
datasetRid | string | 필수 | 데이터셋의 RID입니다. | ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da |
branchName | string | 필수 | 브랜치 이름입니다. | master |
분기 or
하위 트리거 중 하나가 이벤트를 발생시키면 동작합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: or. | or |
triggers | list<Trigger> | 선택 |
triggers의 구조
배열 항목은 Trigger이며 자료형은 union입니다.
하위 항목도 같은 트리거 분기를 사용합니다.
분기 newLogic
해당 브랜치의 데이터셋에 새 JobSpec이 게시될 때 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: newLogic. | newLogic |
branchName | string | 필수 | 브랜치 이름입니다. | master |
datasetRid | string | 필수 | 데이터셋의 RID입니다. | ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da |
분기 tableUpdated
대상 브랜치의 테이블에 새 트랜잭션이 커밋될 때 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: tableUpdated. | tableUpdated |
tableRid | string | 필수 | 테이블의 RID입니다. | ri.tables.main.table.beb574f7-019c-4a01-abd1-ff3c97bfaec8 |
branchName | string | 필수 | 브랜치 이름입니다. | master |
분기 and
모든 하위 트리거가 이벤트를 발생시킨 뒤 동작합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: and. | and |
triggers | list<Trigger> | 선택 |
triggers의 구조
배열 항목은 Trigger이며 자료형은 union입니다.
하위 항목도 같은 트리거 분기를 사용합니다.
분기 datasetUpdated
대상 브랜치의 데이터셋에 새 트랜잭션이 커밋될 때 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: datasetUpdated. | datasetUpdated |
datasetRid | string | 필수 | 데이터셋의 RID입니다. | ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da |
branchName | string | 필수 | 브랜치 이름입니다. | master |
분기 scheduleSucceeded
지정한 스케줄이 액션을 성공적으로 완료할 때 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: scheduleSucceeded. | scheduleSucceeded |
scheduleRid | string | 필수 | 스케줄의 RID입니다. | ri.scheduler.main.schedule.5ad5c340-59f3-4a60-9fc6-161bb984f871 |
분기 mediaSetUpdated
대상 브랜치의 미디어 집합이 갱신될 때 발생합니다. 트랜잭션을 사용하는 미디어 집합에서는 커밋할 때 발생합니다. 트랜잭션을 사용하지 않으면 갱신 후 이벤트가 발생하기까지 시간이 걸릴 수 있습니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: mediaSetUpdated. | mediaSetUpdated |
mediaSetRid | string | 필수 | Foundry 미디어 집합의 RID입니다. | |
branchName | string | 필수 | 브랜치 이름입니다. | master |
분기 time
시간 기반 스케줄로 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: time. | time |
cronExpression | string | 필수 | 분, 시, 일, 월, 요일의 다섯 필드를 사용하는 표준 CRON 표현식입니다. | 0 0 * * 1-5 |
timeZone | string | 필수 | java.time.ZoneId의 문자열 표현입니다. | Europe/Paris |
분기 manual
수동으로만 스케줄을 시작합니다. AND 또는 OR 안에 넣으면 이 트리거를 무시합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: manual. | manual |
분기 scheduleFailed
지정한 스케줄이 액션을 완료하지 못하고 실패할 때 발생합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: scheduleFailed. | scheduleFailed |
scheduleRid | string | 필수 | 스케줄의 RID입니다. | ri.scheduler.main.schedule.5ad5c340-59f3-4a60-9fc6-161bb984f871 |